poi-tl循环表格列和行

简介: poi-tl循环表格列和行
  • 循环行


观测指标 {{rows}} 日期
[title]


  • 循环列


{{column}}观测指标 [month]
结论
// 循环行
// LoopRowTableRenderPolicy policyRow = new LoopRowTableRenderPolicy();
// Configure config = Configure.builder().bind("rows", policyCol).build();
// 循环列
LoopColumnTableRenderPolicy policyCol = new LoopColumnTableRenderPolicy();
Configure config = Configure.builder().bind("column", policyCol).build();
XWPFTemplate template = XWPFTemplate.compile(wordTemplate, config).render(
       getData(reportData, associateId)
);
private HashMap<String, Object> getData(Map<String, Object> reportData, Long enterpriseId) {
    return new HashMap<String, Object>() {{
        JSONObject json = enterpriseOperatingVisibleLightIndexService.getEnterpriseOperatingVisibleLightIndexByEnterpriseId(enterpriseId);
        // 表格
        // put("rows", row(json));
        put("column", column(json));
    }};
}
private List<Column> column(JSONObject json) {
     List<Column> list = new ArrayList<>();
     JSONArray heads = (JSONArray) json.get("head");
     for (Object j : heads) {
         Column column = new Column();
         JSONObject _j = (JSONObject) j;
         column.month =  StringUtils.toString(_j.get("reportDate"));
         list.add(column);
     }
     return list;
 }
private List<Row> row(JSONObject json) {
     List<Row> list = new ArrayList<>();
     JSONArray heads = (JSONArray) json.get("head");
     for (Object j : heads) {
         Row row = new Row();
         JSONObject _j = (JSONObject) j;
         row.title =  StringUtils.toString(_j.get("titleText"));
         list.add(row);
     }
     return list;
 }
class Row {
    String title;
}
class Column {
    String month;
}


相关文章
Springboot 导出word,动态填充表格数据
Springboot 导出word,动态填充表格数据
|
Java
Java Poi-tl操作Word文档,插入文本和图片
poi-tl(poi template language)是Word模板引擎,基于Microsoft Word模板和数据生成新的文档
2152 0
|
存储 SQL Java
Java8 stream 中利用 groupingBy 进行多字段分组求和
Java8 stream 中利用 groupingBy 进行多字段分组求和
|
安全 Java 持续交付
如何实现上传jar直接部署成功,这篇文章直接带你上手springboot实现jar包热更新!
本文详细讲解了在Spring Boot应用中实现Jar包热更新的实践方法。通过自定义类加载器(`HotClassLoader`),动态加载和卸载指定目录下的Jar包,结合Spring Bean动态注册机制,使新加载的类能够被Spring容器管理。同时,提供了文件上传接口,方便用户手动触发Jar包更新。文章还强调了安全性、依赖管理和线程安全等注意事项,并给出了测试步骤和总结,帮助开发者高效实现热更新功能,减少服务中断和提升开发效率。
java生成word(使用Poi-tl)
java生成word(使用Poi-tl)
1370 0
|
XML JSON Java
Java POI Word07版插入图片并指定浮动位置
由于工作需要,又接触到了POI操作Word,以往只是简单的读取操作,这次是写入操作;
2035 1
Java POI  Word07版插入图片并指定浮动位置
|
Java Apache
Java 使用word模板创建word文档报告教程
Java 使用word模板创建word文档报告教程
1316 0
Java 使用word模板创建word文档报告教程
|
Java Apache
超实用!教你如何在POI-TL框架中熟练使用Configure类,快速完成Office文档生成!
POI-TL是一个用于生成Office文档的Java库,Configure类是该库中的一个配置类,其作用是提供了一些全局的配置选项,可以用于定制化生成的文档。
1160 0
|
前端开发 JavaScript Java
屎上最全vue-pdf+Springboot与aspose-words整合,开箱即用
本文详细介绍了如何通过Spring Boot与Aspose Words整合实现Word模板的填充及转换为PDF,并在前端使用Vue和javadog-vue-pdf实现PDF预览与下载。主要内容包括:实现Spring Boot与Aspose Words的整合,完成Word模板填充并转换为PDF;前端Vue集成javadog-vue-pdf进行PDF预览及下载。文章提供了详细的步骤说明,包括下载依赖、配置代理、代码示例等,并展示了最终成果。
1810 7
屎上最全vue-pdf+Springboot与aspose-words整合,开箱即用

热门文章

最新文章