触发场景描述 使用 OnceAbsoluteMergeStrategy 为 ExcelWriter 指定合并策略后, 再使用 excelWriter.fill(); 进行多次填充, 即执行多个 ExcelWriter.fill(); 后, 生成的 Excel 文件会触发 MS Office 的自动修复, 点击修复后看到的修复记录如下: 已删除的记录: /xl/worksheets/sheet1.xml 部分的 合并单元格. 将生成的.xlsx 文件改为.zip 解压后查看/xl/worksheets/sheet1.xml 文件发现使用 OnceAbsoluteMergeStrategy 指定的合并单元格策略被执行了多遍, 即有几次 excelWriter.fill();方法调用就执行了几遍. 触发Bug的代码
OnceAbsoluteMergeStrategy mergeStrategy = new OnceAbsoluteMergeStrategy(3, 3, 0, 0);
ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
.withTemplate(templateFileName)
.registerWriteHandler(mergeStrategy)
.build();
excelWriter.fill(map, writeSheet);
excelWriter.fill(new FillWrapper("list1", title), writeSheet);
提示的异常或者没有达到的效果 如场景描述所提及