使用poi-tl 利用模板生成表格
//最外层map
Map map=new HashMap<>();
RowRenderData row0 = Rows.of("姓名", "学历").textColor("FFFFFF")
.bgColor("4472C4").center().create();
RowRenderData row1 = Rows.create("李四", "博士");
RowRenderData row2 = Rows.create("李四", "博士");
map.put("var1", Tables.of(row0, row1,row2).create());
try {
//测试后 不同版本对象不同(1.9.1为HackLoopTableRenderPolicy)
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
Configure config =Configure.builder().bind("itemNameList", policy).build();//行循环必备
ConfigureBuilder builder = Configure.builder();
XWPFTemplate template = XWPFTemplate.compile(localPath+"1.docx").render(map);
//生成文件路径,导出的化可以直接将流写到前端,由前端接收输出成文件
template.writeAndClose(new FileOutputStream(localPath+"test3.docx"));
}catch (Exception e){
System.out.println("生成失败:"+e);
}
报错:com.deepoove.poi.exception.RenderException: Unable to render template {{#var1}}
1.docx下 内容
只有一个{{#var1}}