easyexcel 导出文件慢

n53p2ov0  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(87)

使用 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);
}
y3bcpkx1

y3bcpkx11#

可能数据量太大,试试改成异步导出,将生成文件和下载文件2个步骤拆分出来,生成文件时保存导出记录(可以包含导出条件、导出人、导出时间、文件格式、文件大小、文件路径等等),下载文件时通过查看导出记录下载目标文件。

相关问题