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,动态填充表格数据
|
API
Poi 中文API文档 「40种操作 Excel文件的姿势」
Poi 中文API文档 「40种操作 Excel文件的姿势」
570 0
|
设计模式 JSON 前端开发
SpringBoot中对LocalDateTime进行格式化并解析
SpringBoot中对LocalDateTime进行格式化并解析
1208 0
|
Java
Java Poi-tl操作Word文档,插入文本和图片
poi-tl(poi template language)是Word模板引擎,基于Microsoft Word模板和数据生成新的文档
1816 0
java生成word(使用Poi-tl)
java生成word(使用Poi-tl)
882 0
|
Java Apache Maven
Java中使用poi+poi-tl实现根据模板导出word文档
这个过程不仅简化了文档生成的工作,而且保证了生成文档的一致性与准确性,特别适合于那些需要生成大量文档的自动化场景。通过以上步骤,Java开发人员可以实现高效、可靠的Word文档导出功能。
3007 0
|
Java BI API
SpringBoot + POI-TL:高效生成Word报表的技术盛宴
【8月更文挑战第22天】在日常的工作与学习中,文档处理特别是Word报表的自动生成,是许多项目中不可或缺的一环。传统的手工编辑Word文档不仅效率低下,还容易出错,特别是在需要批量生成包含动态数据的报告时,更是令人头疼不已。幸运的是,结合Spring Boot的简洁高效与POI-TL的强大功能,我们能够轻松实现Word报表的快速生成,既提升了工作效率,又保证了数据的准确性和报表的美观性。
1270 0
|
XML Java 数据格式
基于Java+freemarker实现动态赋值以及生成Word文档
使用Java和Freemarker技术实现动态数据填充到Word文档模板并生成新的Word文档。
983 0
基于Java+freemarker实现动态赋值以及生成Word文档
|
Java Linux
POI 生成word 转 pdf
根据业务需要 需要出一份 PDF 文件 作为 公告的附件使用 PDF文件中 需要有 各种数据作为展示 是动态生成的
2875 0
POI  生成word 转 pdf