alibaba / easyexcel

快速、简洁、解决大文件内存溢出的java处理Excel工具
https://easyexcel.opensource.alibaba.com
Apache License 2.0
31.65k stars 7.46k forks source link

easyExcel 数据填充, 每次用户点击导出时,条件不同标题头列数就不同, 使用填充模板结合Java代码生成用户制定的标题头的Excel模板,再使用生成的Excel模板,填充数据导出,在生成填充模板时单元格值为{.属性名}时,单元格显示为空 #3175

Closed 1030386521 closed 6 days ago

1030386521 commented 1 year ago

FillData f1 = new FillData(); f1.setDaKuohao(""); f1.setFirstLayer("{.sa}"); f1.setSecondLayer("s1"); f1.setThirdLayer("t1"); f1.setCloumnPorperty("{.sa}");

FillData f2 = new FillData(); f1.setDaKuohao("{"); f2.setFirstLayer("clou1"); f2.setSecondLayer("s2"); f2.setThirdLayer("t12"); f2.setCloumnPorperty("{.sa}");

List data = new ArrayList<>(); data.add(f1); data.add(f2);

String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; // 方案1 try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { WriteSheet writeSheet = EasyExcel.writerSheet().registerWriteHandler(new FillBgColorStyleCellWriteHandler()).build(); FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); excelWriter.fill(data, fillConfig, writeSheet); excelWriter.fill(data, fillConfig, writeSheet); excelWriter.fill(data, fillConfig, writeSheet); Map<String, Object> map = new HashMap<>(); map.put("date", "2019年10月9日13:28:28"); excelWriter.fill(map, writeSheet); }

mmexport1683376625483
1030386521 commented 1 year ago

怎么用easyExcel 填充模板生成填充模板,再利用生成的模板导出数据

gongxuanzhang commented 1 year ago

我建议生成模板的时候直接用List 的write方式为每一行写入效果可能会更好

gongxuanzhang commented 2 weeks ago

你好,我们发现此Issue已经超过三个月没有活动了,为了更好的帮助您解决问题,我们将在两周后关闭此Issue,如果您仍然有问题,请在两周内内回复此Issue,谢谢!如果您已经解决或者不需要帮助,请忽略此消息。