资讯动态

EasyExcel 入门:3 分钟跑通 Excel 读写,75M 大文件不爆内存

发布时间:2026/10/27 18:18:38 来源:尧图企业网站定制
EasyExcel 入门3 分钟跑通 Excel 读写75M 大文件不爆内存【免费下载链接】easyexcel快速、简洁、解决大文件内存溢出的java处理Excel工具项目地址: https://gitcode.com/gh_mirrors/ea/easyexcelExcel 到几十万行时Apache POI 读完就 OOM。EasyExcel 是解决 Excel 读写时大文件内存溢出的工具。适合第一次接入它的 Java 开发者。官方实测数据16M 内存上限、23 秒读完 75M、46 万行 25 列的 Excel上图峰值内存占用只有 8M 左右。三分钟跑通第一个示例下面代码摘自仓库easyexcel-test模块的最简读写用例引入依赖后可以直接跑public class SimpleData { ExcelProperty(姓名) private String name; } EasyExcel.write(a.xlsx, SimpleData.class).sheet().doWrite(dataList); EasyExcel.read(a.xlsx, SimpleData.class, new AnalysisEventListenerSimpleData() { Override public void invoke(SimpleData d, AnalysisContext c) { System.out.println(d.getName()); } }).sheet().doRead();ExcelProperty(姓名)给字段指定表头列顺序按字段声明顺序走加一列就是加一个字段第一行调用doWrite(dataList)把数据写进文件dataList是一个ListSimpleData读取端doRead()发起读取invoke每读一行回调一次doAfterAllAnalysed在全部读完时触发整个文件不需要进内存。目录结构怎么拆easyexcel/ ├── easyexcel/ # 门面模块只依赖 easyexcel-core你对外引的入口 ├── easyexcel-core/ # 核心实现读写流程、监听器、转换器、样式策略 ├── easyexcel-support/ # 扩展支持模块 ├── easyexcel-test/ # 测试与演示代码覆盖读写、填充、样式等场景 ├── docs/ # API 参考与大文件读取文档 ├── img/ # README 与 IDE 配置相关图片 ├── src/ # 顶层演示测试内容与 easyexcel-test 大量重复 ├── style/ # 代码风格规范与 PMD 规则 ├── pom.xml # Maven 根配置统一管理模块与依赖版本 └── README.md # 项目介绍与快速开始最核心的是easyexcel-core读写主流程和所有扩展点都在里面。门面模块easyexcel只是把 core 包装成依赖没有实质逻辑。想找例子直接翻easyexcel-test顶层其余几个 .md 是英文说明和贡献指南入门可以跳过。影响你使用的 pom 配置 5 项根pom.xml统一管理四个子模块真正影响你行为的就这几项revision4.0.2全局版本号 → 决定发布出去的 jar 版本升版本只改这一处modules子模块清单 → 决定哪些模块参与构建和发布poi / poi-ooxml5.2.5底层解析库 → 决定 xlsx/xls 解析兼容性解析新文件格式出问题先看这个版本commons-csv1.11.0CSV 依赖 → 决定 CSV 读写能力jdk.version1.8编译目标 → 你的工程 JDK 8 即可无需高版本。接入你自己的工程在自己的 pom.xml 里加一个依赖dependency groupIdcom.alibaba/groupId artifactIdeasyexcel/artifactId version4.0.2/version /dependency然后代码里直接调用ListSimpleData list EasyExcel.read(/tmp/a.xlsx, SimpleData.class) .sheet().doReadSync();easyexcel是门面模块会传递引入easyexcel-core不用单独加。文件小时用doReadSync()一次性拿回 List连监听器都不用写文件大就换回上面的监听器方式逐行处理数据来自 web 上传时把文件路径换成 InputStream 传入接口一样。接下来去看easyexcel-test模块里demo/read/ReadTest.java和demo/write/WriteTest.java的用例表头自定义、转换器、模板填充等高频用法都有现成写法要读超大文件再参考 docs/LARGEREAD.md 的思路。【免费下载链接】easyexcel快速、简洁、解决大文件内存溢出的java处理Excel工具项目地址: https://gitcode.com/gh_mirrors/ea/easyexcel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑