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 仍然是可以正常使用的,不需要急着去找替代方案。
大家有什么好用的数据处理工具、类库或框架么?欢迎评论区留言分享~
更多编程学习资源
6 年 30k star,这个明星项目停止更新!的更多相关文章
- 在github上查找star最多的项目
如何在github上查找star最多的项目 在search中输入stars:>1 就可以查找所有有star的项目,然后右上角根据自己的需要筛选 当我输入stars:>10000的时候,就会 ...
- 开发者最爱的Firebug停止更新和维护
近日,Firebug团队在其官网上宣布,Firebug将不再继续开发和维护,并邀请大家使用Firefox的内置开发工具. Firebug最初是2006年1月由Joe Hewitt编写, ...
- 关于 《cocoapods 的taobao的镜像停止更新问题》
cocoapods 的ruby.taobao.org 停止更新了!!!!!! 最近一直在改老项目,突然听伙伴说:cocoapods 的ruby.taobao.org 停止更新了.很是吃惊,遂即闯入:h ...
- [置顶] 博客停止更新 && 我的大学数年
博客停止更新 前言: 这些天,一直还没有时间发表这篇博文,近期,做了一个决定:博客更新停止. 我有话说: 这些天来,还真是感谢大家的关注了.从2011年的07至今,2013年的07月,两个年头,写下了 ...
- 本博客停止更新,移至purecpp.org
声明:本博客停止更新,迁移至C++开源社区purecpp.org, 欢迎持续关注!
- 本博客迁移到Github,之后停止更新
本博客之后停止更新或者更新不是很及时,关注博客请移步 http://waylife.github.io 或者 http://blog.13kbook.com 谢谢支持. Update Time ...
- xp的停止更新对我们有什么影响?
微软与2001年推出windows xp系统,这款系统的成功毋庸置疑,但由于太过成功,微软在随后推出的vista系统和win7系统普及起来却异常困难.大多数人已经习惯了xp的操作,再加上一批铁杆旧电脑 ...
- iOS:开发常用GitHub开源项目(持续更新)
IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...
- 七夕节 看到很多停止更新的blog 莫名有点淡淡的忧桑
又是一年七夕.又是一年单身.看到很多停止更新的blog, 仿佛看到了一茬一茬的程序猿 进入it 圈 又离开it圈,就有莫名的忧桑
- 我的CSDN博客停止更新通告
我的CSDN博客停止更新通告 自从2001年在CSDN发表第一篇博客開始,至今天(2014年6月11日)为止,算起来我己经在CSDN博客上"呆"了13年.共发表251篇原创文章,有 ...
随机推荐
- ffmpeg和ffplay常用指令
FFmpeg 常见用法 1. 基本命令结构 ffmpeg [global_options] -i input_file [input_options] output_file [output_opti ...
- JDK、JRE和JVM简述
JDK(Java Development Kit) JDK是Java开发环境的核心组件,包括:Java编译器.JRE(Java运行环境)JavaDoc文档生成器和其他一些工具. JDK是Java程序员 ...
- RabbitMq消息可靠性之确认模式 通俗易懂 超详细 【内含案例】
RabbitMq保证消息可靠性之确认模式 介绍 消息的确认,是指生产者投递消息后,如果 Broker 收到消息,则会给我们生产者一个应答.生产者进行接收应答,用来确定这条消息是否正常的发送到 Brok ...
- 在NextChat中接入SiliconCloud API 体验不同的开源先进大语言模型
NextChat介绍 One-Click to get a well-designed cross-platform ChatGPT web UI, with GPT3, GPT4 & Gem ...
- canfestival源码下载教程
先进入官网的这个页面 https://canfestival.org/code.html.en 点击箭头所指的地方 选择日期最新的点击下载
- Scikit-learn从入门到放弃
目录 Scikit-learn简介 SVM分类 随机森林回归 K-means聚类 前置建议阅读: 1.NumPy从入门到放弃 2.Pandas从入门到放弃 3.SciPy从入门到放弃 Scikit-l ...
- 😶🌫️ SpringBoot中MongoDB的骚操作用法
不知道大家在工作项目中有没有使用MongoDB,在哪些场景中使用.MongoDB作为NoSQL数据库,不像SQL数据库那样,可以使用Mybatis框架. 如果需要在SpringBoot中使用Mongo ...
- win10自动更新导致的任务栏假死,右键单击任务栏延迟菜单延迟出现
系统是win10企业版,前天晚上回家之前,电脑还是好好的,然后前天早上跑过来以后,发现电脑自动重启了,我还以为是办公室停电了之类的(现在想了一下愚蠢,停电不会自动开机),没想到是自动更新 然后我发现, ...
- how to create rpm
RPM Spec 中各个字段的 pre, post, preun, postun 的用法 https://www.golinuxhub.com/2018/05/how-to-execute-scrip ...
- nftables
RHEL 8 用 ntftable 替换 iptables, 新安装的 CentOS 8.3 是这样的: [root@net182-host113 ~]# nft list tablestable i ...