栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java操作word循环动态添加表格Table使用poi-tl的LoopRowTableRenderPolicy

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java操作word循环动态添加表格Table使用poi-tl的LoopRowTableRenderPolicy

官网http://deepoove.com/poi-tl/

官网有完整的例子:http://deepoove.com/poi-tl/#hack-loop-table

1.导包

(注意:低版本没有LoopRowTableRenderPolicy,下面是目前最新版)


  com.deepoove
  poi-tl
  1.12.0

2.需要动态添加的模板

3.使用

部分代码

                String fileName = type + ".docx";
                String outPath = "D:\iedaworks\test-service\src\main\resources\file\wordTest.docx";
                InputStream inputStream = WordConvertPdf.downloadFileForLocal(fileName);
                LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
                Configure configure = Configure.builder().bind("laji", policy).build();
                // 读取模板、数据并渲染
                XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
                        Collections.unmodifiableMap(new HashMap() {
                            {
                                List forms = JSON.parseArray(bzData.toString(), NbsjBean.class);
                                for (int i = 0; i < forms.size(); i++) {
                                    int xh = i+1;
                                    forms.get(i).setXh(xh+"");
                                    put("xh" + i, xh+"");
                                    put("bzdxxm" + i, forms.get(i).getBzdxxm());
                                    put("bzdxsfzh" + i, forms.get(i).getBzdxsfzh());
                                    put("xsbzxzfqk" + i, forms.get(i).getXsbzxzfqk());
                                    put("xsqkcxjg" + i, forms.get(i).getXsqkcxjg());
                                    put("jlscsj" + i, forms.get(i).getJlscsj());
                                    put("clzt" + i, forms.get(i).getClzt());
                                }
                                put("laji", forms);
                            }
                        })
                );
//                 文件是否已存在,则删除
                File file = new File(outPath);
                if (file.exists()){
                    file.delete();
                }
//                 生成word保存在指定目录
                template.writeToFile(outPath);
                template.close();
            }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号