6 年 30k star,这个明星项目停止更新!
大家好,我是程序员鱼皮。就在昨天,GitHub 上一个知名的开源项目 Easy Excel 官宣停止更新,下面是官方原文:
公告中表示,Easy Excel 将进入维护模式,会进行 Bug 修复,但不再主动新增功能。其实约等于停止更新了,只不过是一种委婉地表达罢了。
可能有同学还不了解 Easy Excel,这是国内主流的 Java 解析 Excel 的开源工具库,在 GitHub 上有 30k+ 的 star。能够帮助开发者用更少的内存从 Excel 中读取数据、或者生成 Excel 文件。官方测试只需要 16M 内存就能读取 75M(46W 行 25 列)的 Excel 文件!
我个人非常喜欢这个库,除了性能高之外,还有很多其他原因。首先是它提供了简单易用的 API 来读写 Excel,比如通过下面这行代码,就能获取到 Excel 中的数据了:
List<DemoData> list = EasyExcel.read(fileName)
.head(DemoData.class)
.sheet()
.doReadSync();
而且它的官方文档写得非常清晰,进一步降低了使用门槛。有一说一,咱们很多国产框架的文档写得都不错~
通过官方文档可以了解到,Easy Excel 支持同步和异步读取、自定义格式转换等操作,能够满足大多数常见的需求了。
我做技术选型时,除了性能和易用性之外,还会特别关注框架的生态和活跃度。很多框架可能做着做着,就突然不更新了,导致后面出了问题也没法解决,只能换一个技术,这种情况可以让开发者瞬间高血压。
Easy Excel 虽然只是一个工具库,但大家可能想象不到维护这样一个小项目,难度有多大。
可以看到该项目光是在 GitHub 上就有 3000 多个 Issues 问题,官方处理了 3000 多个,未处理的也基本很快就回复了。
从提交记录来看,这个项目维护了 6 年,平均每天都要处理几个问题,跟每日任务似的。也看得出来 Easy Excel 官方确实很用心地在维护这个项目,而不是所谓的 KPI 项目,点个赞 👍🏻!
所谓的 KPI 项目,是指为了绩效或者晋升专门搞的项目,可能评完绩效或者晋升之后,就不再维护了。
这也是我乐意使用 Easy Excel 的原因,但是官方公告中的有一点我还挺在意的:
官方说市面上出现了很多的数据处理工具,我不禁在想,对处理 Excel 表格这个场景来说,还有哪些替代方案呢?
我调研了一些,比如:
1)Apache POI:老牌的文档处理库,被广泛使用于多个大型项目和企业,社区活跃。但内存占用较高,对于大文件的性能并不理想。
2)Excel4J:个人开源的 Excel 处理库,star 数不多,上次更新时间是去年,社区不活跃。
3)Aspose.Cells:功能强大,但是属于商业产品,需要购买许可证,我选择放弃。
4)opencsv:适用于处理 CSV 文件,但是看到它的文档我直接放弃。
逛了一圈下来,我还没有发现免费开源的 Easy Excel 的替代品。不过好在大家不用担心,Easy Excel 仍然是可以正常使用的,不需要急着去找替代方案。
大家有什么好用的数据处理工具、类库或框架么?欢迎评论区留言分享~