面试问到怎么优化excel加载数据过慢的问题,深度学习了一下excel的读写,提供了两种解决方案:Apache的POI和阿里巴巴开源的easyExcel
POI官网:https://poi.apache.org/
easyExcel官网:easyexcel: easyexcel —— JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl
源码已经放到码云上,需要的自取:耿洪博/POITest
100万数据测试写入基本只需要8秒,读取可能需要18秒左右。
1.POI
1.1 POI写入读取测试
POIWriteTest一共5个方法: writeTest:03版本写入测试 write07Test:07版本测试 write03BigDataTest:03版本大数据量写入测试 write07BigDataTest:07版本大数据量写入测试 write07BetterBigDataTest:07版本大数据量写入测试-优化版本 POIReadTest:与POI写入类对应
2.EasyExcel
2.1 EasyExcel写入读取测试
easyExcel的原理相当于将POI中需要一次性加载到内存中的数据只需要分段,多次的加载写入,能保证不会出现OOM的情况,但测试只支持xlsx文件。