专业的JAVA编程教程与资源

网站首页 > java教程 正文

GitHub Star 8800+ 的阿里开源的 Java 解析 Excel 工具

temp10 2024-09-21 03:58:02 java教程 8 ℃ 0 评论

我们在项目中经常会遇到操作 Excel 的需求,比如导入、导出 Excel 报表,Java 操作 Excel 基本上都用 POI,但 POI 操作起来比较麻烦,需要创建很多 row,cell 以及样式,而且非常耗内存。

为了简便这种操作,Alibaba 开源了

GitHub Star 8800+ 的阿里开源的 Java 解析 Excel 工具

easyexcel

,easyexcel 重写了 POI 对 07 版 Excel 的解析,能够把原本一个 3M 的 Excel 用 POI sax 依然需要 100M 左右内存降低到几 M,并且再大的 Excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。该项目实现了列表数据的导入,分页列表导出,支持自定义格式,支持模版以及模板和列表的混合导出。在上层做了模型转换的封装,是一个快速、简单避免 OOM 的 Java 处理 Excel 工具。

easyexcel 核心原理:

1、文件解压文件读取通过文件形式

2、避免将全部数据一次加载到内存

采用 sax 模式一行一行解析,并将一行的解析结果以观察者模式通知处理。

3、抛弃不重要的数据

Excel 解析时候会包含样式、字体、宽度等数据,但这些数据是可以不关心的,如果将这部分数据抛弃可以大大降低内存使用。

开源项目地址:

https://github.com/alibaba/easyexcel

开源项目组织:Alibaba

关注公众号:非著名程序员,对话框回复关键字 “1024”,免费领取独立开发者赚钱案例分享,助力程序员实现财务自由。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表