使用easypoi基于excel模板导出excel,模板有合并单元格,但是导出的excel中有个别单元格没有合并为什么?
试了easypoi的几个版本 4.1.0 到 4.4.0 都存在这个问题
excel模板
导出的excel
使用easypoi基于excel模板导出excel,模板有合并单元格,但是导出的excel中有个别单元格没有合并为什么?
试了easypoi的几个版本 4.1.0 到 4.4.0 都存在这个问题
excel模板
导出的excel
关于easypoi基于Excel模板导出时单元格未合并的问题,可能是由于easypoi在处理模板和导出数据时未能正确识别或应用合并单元格的指令。以下是一些可能的解决方案:
检查模板设置:
检查数据匹配:
更新easypoi版本:
手动合并单元格:
检查easypoi配置:
寻求社区帮助:
请注意,由于我无法直接查看你提供的图片链接,因此我的回答是基于你提供的问题描述和通常的解决策略。如果问题依然存在,建议提供更详细的代码示例和错误信息,以便进行更深入的分析和解决。
可以尝试通过cn.afterturn.easypoi.util.PoiMergeCellUtil#addMergedRegion手动合并,你这种情况需要一行一行的合并,计算出合并开始行和合并结束行。
比如:遍历的表格是从第7行开始(除开表头),依次合并表格数据行1,2 3,4 5,6
// 由于easypoi bug,模板中不合并,填充数据后再做手动合并
if (CollectionUtils.isNotEmpty(exportDTO.getTaskItemDTOList())) {
for (int i = 0; i < exportDTO.getTaskItemDTOList().size(); i++) {
PoiMergeCellUtil.addMergedRegion(workbook.getSheetAt(0), 7 + i, 7 + i, 1, 2);
PoiMergeCellUtil.addMergedRegion(workbook.getSheetAt(0), 7 + i, 7 + i, 3, 4);
PoiMergeCellUtil.addMergedRegion(workbook.getSheetAt(0), 7 + i, 7 + i, 5, 6);
}
}
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答4.8k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
没用过,建议把可复现的 case 提交给开源社区,如果能提供修复方案就更好了。