help wanted
Description
同样的数据,batchDataList都是26358行, 分3次写入,多次调用这个方法, 有时返回byte[]长度=5894824,这时生成的excel可以打开; 有时返回byte[]长度=5897583,这时生成的excel打不开
ExcelWriterBuilder excelWriterBuilder = EasyExcel.write(outputStream, clazz).registerWriteHandler(EasyExcelUtil.defaultCellFormat());
try (ExcelWriter excelWriter = excelWriterBuilder.build()) {
ExcelWriterSheetBuilder sheet = excelWriterBuilder.sheet(sheetName);
WriteSheet writeSheet = sheet.build();
do {
batchDataList = queryFunction.apply(BatchPageParam.of(queryParam, batchIndex, batchSize));
excelWriter.write(batchDataList, writeSheet);
batchIndex++;
//安全防御代码。
AssertUtil.isTrue( batchIndex < batchLoopLimit, "批次数量超过上限");
// 如果数据不足 PAGE_SIZE,说明数据已全部读取完毕
} while (batchDataList.size() == batchSize);
excelWriter.finish();
return outputStream.toByteArray();
}
获取字节流后,再上传到阿里云oss,在上传前打印了byte[]数组的长度。 easyexcel版本 3.2.1
背景:
- 项目2月底发布了一次,每天大约导出35个文件,导出大约450个excel后,13天后开始出现该问题,
- 今天再次发布后,问题又消失了