阿里的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文件數據後,還需要再把數據清洗一下。