excel的單個(gè)sheet目前看到的版本最多容納100萬左右,導(dǎo)出的數(shù)據(jù)量如果超過這個(gè)值涵但,就會(huì)打開excel報(bào)錯(cuò)履腋,或者導(dǎo)出excel報(bào)錯(cuò),需要指定多個(gè)sheet來容納數(shù)據(jù)檬贰。
示例代碼主要兩部分姑廉,如下:
//設(shè)置頭部
@Data
public class PackDateDTO {
@ExcelProperty("sn")
private String sn;
@ExcelProperty("訂單號(hào)")
private String wo;
@ExcelProperty("物料編碼")
private String materialCode;
@ExcelProperty("物料描述")
private String materialCnDesc;
@ExcelProperty("投產(chǎn)時(shí)間")
private String startTime;
@ExcelProperty("完工時(shí)間")
private String finishedTime;
}
//導(dǎo)出excel
public void exportPackByDate(@RequestBody Map<String, Object> params){
List<List<PackDateDTO>> datas = Lists.partition(data, 500_000);
String fileName = "/home/trnuser/" + "export_pack" + System.currentTimeMillis() + ".xlsx";
ExcelWriter excelWriter = null;
try{
excelWriter = EasyExcel.write(fileName, PackDateDTO.class).build();
//創(chuàng)建一個(gè)sheet
WriteSheet writeSheet = EasyExcel.writerSheet(0, "模板1").build();
excelWriter.write(datas.get(0), writeSheet);
//創(chuàng)建一個(gè)新的sheet
writeSheet = EasyExcel.writerSheet(1, "模板2").build();
excelWriter.write(datas.get(1), writeSheet);
}finally {
//關(guān)閉流
if(excelWriter != null){
excelWriter.finish();
}
}
}