转载

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

【公众号回复 “ 1024 ”,免费领取程序员赚钱实操经验】

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

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

为了简便这种操作,Alibaba 开源了,easyexcel 重写了 POI 对 07 版 Excel 的解析,能够把原本一个 3M 的 Excel 用 POI sax 依然需要 100M 左右内存降低到几 M,并且再大的 Excel 不会出现内存溢出,03 版依赖 POI 的 sax 模式。

该项目实现了列表数据的导入,分页列表导出,支持自定义格式,支持模版以及模板和列表的混合导出。在上层做了模型转换的封装,是一个快速、简单避免 OOM 的 Java 处理 Excel 工具。

easyexcel 核心原理:

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

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

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

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

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

3、抛弃不重要的数据

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

开源项目地址:https://github.com/alibaba/easyexcel

开源项目组织: Alibaba

推荐阅读:

你用的字体经过授权了么?

相关破解技术仅限于研究使用,不准用于非法目的,否则后果自负

一个比今日头条有价值的今日热榜

今天的推荐不知道大家喜欢吗?如果你喜欢,请在文章底部留言和点赞,以表示对我的支持,你们的留言、点赞和转发关注是我持续更新的动力哦!

「GitHub精选」开始接受大家投稿啦

「GitHub精选」,每晚10:24准时为您推送

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

原文  http://mp.weixin.qq.com/s?__biz=MzA3MzE4ODY0Mg==&mid=2455984222&idx=1&sn=5557bd4e601b72775a2c728b5fe809c8
正文到此结束
Loading...