使用EasyExcel的坑

阿里的EasyExcel也是基於POI的,爲啥不直接使用POI呢,因爲現在客戶Excel的數據量都比較大,一個Excel文件輕鬆超過10萬條,直接使用POI很容易內存溢出,而EasyExcel通過異步加載的方式,一次取1000條(有限的條數),異步讀取,所以不會內存溢出,而且速度足夠快。

但是EasyExcel得Bug也很多,其一:

(1)幾個月前的版本不能正確讀取科學記數法的數據,比如商品條形碼,類似這種:6917751460226,是不能正確讀出來的;升級到最新版本,可以讀出來了,但是幾個月之前的版本還讀不出來;

(2)幾個月前的版本,日期格式不能正確讀出來,例如某列日期:2019/7/31,讀成一個亂七八糟的數字,最新版本可以讀出來了,但是格式自動加上了 00:00:00,即客戶數據本來是年月日,自動轉換成了  年月日時分分秒;

(3)最新版本,整型自動加了小數點。客戶有的數據,例如商品編碼,就是一個整型的字符型數據,EasyExcel讀取的時候,自動轉爲double類型了,所以自動加了小數點,我覺得EasyExcel的數據類型應該再加上Integer和yyyy-MM-dd 類型的Date。

所以用EasyExcel讀取Excel文件數據後,還需要再把數據清洗一下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章