關於EasyExcel.writerSheet無法創建新的sheet頁問題


先貼代碼

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()就好了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM