先貼代碼
for(int i = 0;i<=totalPage;i++){ queryMap.put("startIndex", i+1); list = sRealTankRecMapper.getSRealTankRecList(queryMap); WriteSheet writeSheet = EasyExcel.writerSheet(i,"合同"+(i+1)).head(clazz).build(); excelWriter.write(list,writeSheet);
excelWriter.finish();
}
首先排除了sheet頁的號數i和sheet的名稱是不一致的,測如果名稱一直的話,就算i不一樣,也只會生成一個sheet頁。排除后發現還是只生成了一個,最后猜測可能是excelWriter.finish()方法刷新的問題,改動一下
for(int i = 0;i<=totalPage;i++){ queryMap.put("startIndex", i+1); list = sRealTankRecMapper.getSRealTankRecList(queryMap); WriteSheet writeSheet = EasyExcel.writerSheet(i,"合同"+(i+1)).head(clazz).build(); excelWriter.write(list,writeSheet); } excelWriter.finish();
測試,成功
好像是因為finish()代表整個Excel文件寫數據結束,所以要先填充完sheet的數據,再finish()就好了