Open 1363033915 opened 2 months ago
快速开始 、常见问题
// 原因是 FillStyleCellWriteHandler 这个 handler 的问题 public void afterCellDispose(CellWriteHandlerContext context) { if (BooleanUtils.isTrue(context.getIgnoreFillStyle())) { return; } WriteCellData<?> cellData = context.getFirstCellData(); if (cellData == null) { return; } WriteCellStyle writeCellStyle = cellData.getWriteCellStyle(); CellStyle originCellStyle = cellData.getOriginCellStyle(); if (writeCellStyle == null && originCellStyle == null) { return; } WriteWorkbookHolder writeWorkbookHolder = context.getWriteWorkbookHolder(); // writeCellStyle 不为空, originCellStyle 这里是空的, 导致 setCellStyle 单元格原有的样式 消失 // 修复 ---------> originCellStyle = context.getCell().getCellStyle(); 或则自己注册一个WriteHandler 在 afterCellDispose里将 FirstCellData 设置下 originCellStyle // 或是在 在源码在 CellWriteHandlerContext setFirstCellData 的时候将 originCellStyle 设置好 context.getCell().setCellStyle(writeWorkbookHolder.createCellStyle(writeCellStyle, originCellStyle)); }
建议先去看文档
快速开始 、常见问题
触发场景描述
触发Bug的代码