1.不能操作doc文档
<dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc.free</artifactId> <version>5.2.0</version> </dependency>
public static void docToDocx(String path,String outPath){ Document dc = new Document(); dc.loadFromFile(path); dc.saveToFile(outPath, FileFormat.Docx); dc.close(); }
Spire.docToDocx("test.doc","test.docx");
2.列表无法遍历
<dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.12.0</version> </dependency>
InputStream is = new FileInputStream("test.docx"); LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy(); Configure config = Configure.builder() .bind("list", policy).build(); XWPFTemplate template = XWPFTemplate.compile(is,config) .render(data);
表头表达式用{{list}},明细用[item],表达式必须放在相邻行,表头为合并单元格时找地方放,不能放合并后的格子里。
3.模板制作时表格大小会变
单元格右键,
行高设置固定值
4、列表插入数据时会新增行,不能填充模板内空白行,对于复杂模板不能删除的空白行无法处理。freemarker存在同样问题。