美文网首页
poi-tl循环生成表格简单实现

poi-tl循环生成表格简单实现

作者: 唐植超 | 来源:发表于2022-02-12 20:15 被阅读0次

    不说那么多原因,直接上个例子,准备两个模板

    主模板 main.docx 表格列表

    1644667591.png

    这里需要注意 {{+tables}}是用来显示子模板内容的

    子模板 sub.docx 生成单个表格

    image.png

    pom.xml

      <dependency>
                <groupId>com.deepoove</groupId>
                <artifactId>poi-tl</artifactId>
                <version>1.7.3</version>
            </dependency>
    

    测试代码

    子表格示例就是网上抄的,主要是出效果

    public static void main(String[] args) throws  Exception {
            Map<String, Object> data = new HashMap<>();
            List<Map> params = Lists.newArrayList();
            for(int i = 0 ; i < 10 ;i ++){
                //子模板内容
                Map<String, Object> table = new HashMap<>();
                RowRenderData header = RowRenderData.build(new TextRenderData("FF0000", "姓名"), new TextRenderData("FF0000", "学历"));
                RowRenderData row0 = RowRenderData.build("张三"+i, "研究生"+i);
                RowRenderData row1 = RowRenderData.build("李四"+i, "博士"+i);
                List<RowRenderData> rows = new ArrayList<>();
                rows.add(row0);
                rows.add(row1);
                table.put("title","测试信息"+i);
                table.put("table",new MiniTableRenderData(header,rows));
                params.add(table);
            }
            //嵌入
            DocxRenderData docxRenderData = new DocxRenderData(new File("D:/ttt.docx"),params);
            data.put("tables" , docxRenderData);
            data.put("time","1111");
            data.put("name","2222");
            //主模板
            XWPFTemplate template = XWPFTemplate.compile("D:/template2.docx")
                    .render(data);
            FileOutputStream out;
            //结果
            out = new FileOutputStream("D:/res.docx");
            template.write(out);
            out.flush();
            out.close();
            template.close();
    
        }
    

    输出结果

    image.png

    相关文章

      网友评论

          本文标题:poi-tl循环生成表格简单实现

          本文链接:https://www.haomeiwen.com/subject/silxlrtx.html