阿里的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文件数据后,还需要再把数据清洗一下。