手机端网站设计模板,济南制作网站软件,wordpress框架播放器,外包公司劳动合同1 表格行循环 #xff08;1#xff09;需要渲染的表格的模板 说明#xff1a;{{goods}} 是个标准的标签#xff0c;将 {{goods}} 置于循环行的上一行#xff0c;循环行设置要循环的标签和内容#xff0c;注意此时的标签应该使用 [] #xff0c;以此来区别poi-tl的默认标…1 表格行循环 1需要渲染的表格的模板 说明{{goods}} 是个标准的标签将 {{goods}} 置于循环行的上一行循环行设置要循环的标签和内容注意此时的标签应该使用 [] 以此来区别poi-tl的默认标签语法。同理{{labors}} 也置于循环行的上一行。 2定义两个实体类 Data
public class Goods {private int count;private String name;private String desc;private int discount;private int tax;
}Data
public class Labors {private String category;private int people;private int price;
} 3测试代码 Testpublic void autoGenerateTable1() throws Exception {// 数据Goods goods1 new Goods();Goods goods2 new Goods();Labors labors1 new Labors();Labors labors2 new Labors();goods1.setCount(2);goods1.setName(商品1);goods1.setDiscount(10);goods1.setDesc(商品1描述);goods1.setTax(5);goods2.setCount(4);goods2.setName(商品2);goods2.setDiscount(20);goods2.setDesc(商品2描述);goods2.setTax(10);ListGoods goodsList Arrays.asList(goods1, goods2);labors1.setPeople(3);labors1.setCategory(类别1);labors1.setPrice(100);labors2.setPeople(1);labors2.setCategory(类别2);labors2.setPrice(200);ListLabors laborList Arrays.asList(labors1, labors2);// 用行循环插件LoopRowTableRenderPolicy renderPolicy new LoopRowTableRenderPolicy();ConfigureBuilder builder Configure.builder();Configure configure builder.bind(goods, renderPolicy).bind(labors, renderPolicy).build();XWPFTemplate template XWPFTemplate.compile(D:\\Idea-projects\\POI_word\\templates_autoGenerateTable.docx,configure);MapString, Object map new HashMap();map.put(goods, goodsList);map.put(labors, laborList);template.render(map);FileOutputStream fileOutputStream new FileOutputStream(D:\\Idea-projects\\POI_word\\output_autoGenerateTable.docx);template.writeAndClose(fileOutputStream);template.close();} 4渲染结果 5测试代码详细解释 2 表格列循环 列循环跟行循环没有什么区别就是将行循环插件换成了列循环插件 1) 模板 2测试代码 Testpublic void autoGenerateTable2() throws Exception {// 数据Labors labors1 new Labors();Labors labors2 new Labors();labors1.setPeople(3);labors1.setCategory(类别1);labors1.setPrice(100);labors2.setPeople(1);labors2.setCategory(类别2);labors2.setPrice(200);ListLabors laborList Arrays.asList(labors1, labors2);// 用列循环插件LoopColumnTableRenderPolicy renderPolicy new LoopColumnTableRenderPolicy();ConfigureBuilder builder Configure.builder();Configure configure builder.bind(labors, renderPolicy).build();XWPFTemplate template XWPFTemplate.compile(D:\\Idea-projects\\POI_word\\templates_autoGenerateTableCol.docx,configure);MapString, Object map new HashMap();map.put(labors, laborList);template.render(map);FileOutputStream fileOutputStream new FileOutputStream(D:\\Idea-projects\\POI_word\\output_autoGenerateTableCol.docx);template.writeAndClose(fileOutputStream);template.close();} 3渲染结果