easyexcel
easyexcel copied to clipboard
导出文件慢
使用 ExcelWriter 生产文件到服务端,然后通过地址前端下载文件,要等很久文件才能正常写入完成,才能正常下载。
大致代码 public R exportFullCountryPartNum() { ExcelWriter excelWriter = null; String fileName = Constants.FullCountryPartNum + System.currentTimeMillis() + ExcelTypeEnum.XLSX.getValue(); String filePath = Constants.PROJECTPROFILE + "/" + fileName; FileUtil.makeDir(filePath); try { FileCommonUtils.validaFile(filePath); excelWriter = EasyExcel.write(filePath, ExportCountryPartNumVO.class) .build(); WriteSheet writeSheet = EasyExcel.writerSheet("sheet1").build();
for (int i = 0; i < partNumList.size(); i++) {
excelWriter.write(pictureList, writeSheet);
}
} catch (Exception e) {
return R.error("Export failed, please re export or contact the administrator!");
} finally {
excelWriter.close();
}
return R.data(fileName);
}
可能数据量太大,试试改成异步导出,将生成文件和下载文件2个步骤拆分出来,生成文件时保存导出记录(可以包含导出条件、导出人、导出时间、文件格式、文件大小、文件路径等等),下载文件时通过查看导出记录下载目标文件。