alibaba / easyexcel

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

【模板填充】1个cell填充2个值, e.g.({data2.value2}-{data2.value2}), 如果data2为空列表,2个模板值中间的字符会残留在导出文件中 #3302

Open zky1024 opened 1 year ago

zky1024 commented 1 year ago

触发场景描述

模板填充-一个cell填充2个值,如果data2为空列表,2个模板值中间的字符会残留在导出文件中

模板文件:

{data2.poErpNo}-{data2.poLineNo} image

实际返回结果

image

期望返回结果

直接显示空白一行

触发Bug的代码

版本: 3.1.1

            ExcelWriter excelWriter = EasyExcel.write(TemplateExcelUtil.getOutputStream(fileName, response)).withTemplate(is).excelType(ExcelTypeEnum.XLSX).build();
            WriteSheet writeSheet = EasyExcel.writerSheet().build();
            excelWriter.fill(mapHeader, writeSheet);
            FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
            excelWriter.fill(new FillWrapper("data2", returnMapList), fillConfig, writeSheet); // 填充列表, 出错的地方
            excelWriter.finish();

提示的异常或者没有达到的效果

没有报错

bugKai001 commented 1 year ago

你自己组装一下,赋值一个新字段就行么

zky1024 commented 1 year ago

你自己组装一下,赋值一个新字段就行么

这种trade off确实可以实现功能,但我怀疑这个功能预期中不是这样工作的