ARTICLE · 997462
SpringBoot整合最强Excel处理工具EasyExcel
SpringBoot整合最强Excel处理工具EasyExcel
阿里开源的 EasyExcel,专治大表格导出时的内存溢出。
以前用 POI 读 Excel,会把整个文件塞进内存。10万行数据轻松吃掉 500MB,动不动就爆内存。EasyExcel 换成了“边读边写”的流式处理。官方测试里,百万行数据只要几十 MB 内存。
导出:分批查库,分批写入。
别一次性查出所有数据。代码里每页查 5000 条,写完清空引用。最后记得调用 finish() 刷出剩余数据。
导入:用监听器逐行处理。
不能把监听器交给 Spring 管理,得每次 new 一个新实例。代码里攒够 1000 条就批量存一次。这样能避免频繁操作数据库。
实体类注解挺直观。
@ExcelProperty 对应列名或索引。还能顺手搞定日期格式、科学计数法。不想导出的字段加个 @ExcelIgnore 就行。
文章里给的代码能直接跑。实测导出 10 万行没问题,导入 5 万多条也很稳。
原文SpringBoot整合最强Excel处理工具EasyExcel来袭!彻底告别内存溢出
安徽,2小时前,