-
Notifications
You must be signed in to change notification settings - Fork 64
Home
guanquan.wang edited this page Oct 9, 2025
·
13 revisions
欢迎使用EEC!!!
EEC的设计初衷是为了解决Apache POI高内存且API臃肿的诟病,使用EEC基本可以做到一行代码完成Excel文件的读和写操作极易上手。
EEC的最大特点是“轻量”和“高效”,轻量体现在包体小、接入代码量少以及运行时消耗资源少三个方面,高效指运行效率高
- 包体小:EEC和必要依赖包共约900K
- 接入代码量少:无论读写均可以一行代码实现
- 消耗资源少:单线程设计,极限运行内存小于10M
核心原理:
- 导出大数据时使用分片处理
- 单元格样式仅使用一个int值来保存,极大缩小内存使用
- 使用迭代模式读取行内容,不会将整个文件读入到内存
下面是迭代模式读取文件的示意图
采用“pull”方式的好处是当用户需要某行数据时才去解析它们来实现延迟读取。
EEC项目大约始于2017年初,当时市面上除了POI外没有太多可供选择的工具,即使后来比较热门的Easyexcel也是2018年2月才开源的, 工作上确实需要支持较大数据量的导出所以就萌生了去了深入了解xlsx格式的想法,人啊一旦有了想法就要开始折腾了,就这样EEC项目诞生了。
- 2017年初 项目诞生
- 2017.10 项目开源,支持导出xlsx
- 2018.10 支持读取xlsx
- 2019.6 推送eec第一个正式版
- 2020.4 推送第一个eec-e3-support正式版
- 2023.10 ExcelReader重大优化,读取性能提升1倍以上
- 2025.2 开放性能模式,导出性能提升60%~100%
让JAVA操作excel更简单
