在maven项目的pom.xml里引入
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc.free</artifactId>
<version>5.2.0</version>
</dependency>
编辑表格代码
//加载测试文档
Document doc = new Document();
doc.loadFromFile("src/main/resources/model/1.docx");
//获取表格
Section section = doc.getSections().get(0);
//这里是读取数据库表中数据
List<CertAcceptBill> acceptBillList = acceptBillExtMapper.selectAcceptBillList();
//对第1个表格进行操作
Table table = section.getTables().get(1);
//从表格最后一行开始删除行
for(int r = 0; r < table.getRows().getCount(); r++){
table.getRows().remove(table.getLastRow());
}
//写入剩余组内容到表格,并格式化数据
for(CertAcceptBill acceptBill : acceptBillList){ //这里是遍历数据库表数据
TableRow dataRow = table.addRow(); //这里是添加一行表格
TextRange range;
//表示在第某行的第一个格子里写入acceptBill.getBankAcceptNo()
range = dataRow.getCells().get(0).addParagraph().appendText(acceptBill.getBankAcceptNo());
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);//设置水平居中
range = dataRow.getCells().get(1).addParagraph().appendText(acceptBill.getAccountNo());
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
//循环枚举判断是什么币种
String currency = acceptBill.getCurrency();
for (Currency c : Currency.values()) {
if (currency != null && currency.trim().equals(c.getCurrencyId())) {
currency = c.getCurrencyName();
}
}
range = dataRow.getCells().get(2).addParagraph().appendText(currency);
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
if (acceptBill.getFaceAmount() != null) {
range = dataRow.getCells().get(3).addParagraph().appendText(acceptBill.getFaceAmount().toString());
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
if (acceptBill.getIssueDay() != null) {
range = dataRow.getCells().get(4).addParagraph().appendText(sdf.format(acceptBill.getIssueDay()));
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
if (acceptBill.getDueDate() != null) {
range = dataRow.getCells().get(5).addParagraph().appendText(sdf.format(acceptBill.getDueDate()));
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
range = dataRow.getCells().get(6).addParagraph().appendText(acceptBill.getCollateral());
range.getCharacterFormat().setFontName("仿宋");
range.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);
}
//保存文档
doc.saveToFile("src/main/resources/model/2.docx", FileFormat.Docx_2013);
doc.dispose();