poi-tl是一个基于poi的word模版引擎,有中文文档官方文档。
入门
maven依赖
<dependency>
<groupId>com.deepoove</groupId>
<artifactId>poi-tl</artifactId>
<version>1.12.2</version>
</dependency>
wrod模版
文件名称:template.docx
模版内容:
java代码
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
Configure config = Configure.builder()
.bind("loop", policy).build();
ArrayList<Object> loop = new ArrayList<>();
for (int i = 0; i < 3; i++) {
HashMap<String,String> m = HashMap.newHashMap(2);
m.put("col1", "c1 "+i);
m.put("col2", "c2 "+i);
m.put("col3", "c3 "+i);
loop.add(m);
}
XWPFTemplate template = XWPFTemplate.compile("template.docx",config).render(
new HashMap<String, Object>(){{
put("title", "Hi, poi-tl Word模板引擎");
put("table", Tables.of(new String[][] {
new String[] { "00", "01" },
new String[] { "10", "11" }
}).border(BorderStyle.DEFAULT).create());
put("loop",loop);
}});
template.writeAndClose(new FileOutputStream("output.docx"));
执行后输出的word
文件名称:output.docx
文件内容: