【EasyExcel】EasyExcel模板填充踩坑指南
阿新 • • 發佈:2021-12-16
最近專案組有很多報表需求,需要做Excel模板填充,由於EasyExcel相比POI更加便捷,選定Excel技術框架為阿里開源的EasyExcel
在使用過程中遇到一些坑,特別再此記錄;
駝峰命名變數填充失敗
如下圖,事先準備好的模板如下,需要填充的資料已經用變數處理好了
填充其他資料沒有任何問題,但是填充月均DAU這個資料時不生效,匯出來資料沒有這個值,如下圖
部分程式碼如下:
ExcelWriter excelWriter = EasyExcel.write(filePath).withTemplate(templateFilePath) .build(); WriteSheet writeSheet= EasyExcel.writerSheet().build(); Result result = new Result(); result.setTotalAmt(xxxx"); result.setMmm("xxxx"); excelWriter.fill(result, writeSheet); excelWriter.fill(list, writeSheet); excelWriter.finish();
EasyExcel依賴:
<dependency><groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.4</version> </dependency>
處理方式:
排查問題後發現是 月均DAU變數mAvgDau 是 駝峰形式導致填充失敗,將變數名 mAvgDau 替換為 mavgdau 後填充成功
Excel公式處理過的單元格填充失敗
如下圖:
由於使用了Excel公式 自定義單元格 設定了Excel模板檔案的單元格格式,導致EasyExcel無法識別 {.} 形式的佔位符
處理方式:
1.去掉公式,寫入成功