easyexcel
easyexcel copied to clipboard
如何在所有单元格都写入完成后统一处理?SheetWriteHandler没有afterSheetDispose
建议先去看文档
自定义数据情况下, 如何在所有单元格都写入完成后统一处理?例如: 在当前sheet写入完成之后,如果想再进行一些对sheet的补充操作,该怎么操作?我发现SheetWriteHandler没有afterSheetDispose这个方法。
异常提示
大家尽量把问题一次性描述清楚,然后贴上全部异常,这样方便把问题一次性解决掉。 至少大家要符合一个原则就是,能让其他人复现出这个问题,如果无法复现,肯定无法解决。
问题描述
使用WorkbookWriteHandler#afterWorkbookDispose方法,但是这个方法也有一些坑,我最近使用的时候发现了,参考我在这里的描述:getRow返回null
使用WorkbookWriteHandler#afterWorkbookDispose方法,但是这个方法也有一些坑,我最近使用的时候发现了,参考我在这里的描述:getRow返回null
debug了一下,发现是因为他用了SXSSFWorkbook,导致最多100个row放到内存里去,其他全在磁盘。所以可以参考下面的写法: EasyExcel.write(outputStream, exportType.getClassType()) .inMemory(true) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .registerWriteHandler(new RoleNameBasedMergeHandler()) .sheet(exportType.getSheetName()).doWrite(data);