您现在的位置是:首页 > 编程 > 

EasyExcel,被救了!

2025-07-27 13:39:26
EasyExcel,被救了! 11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能。EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称,官方测试显示,仅需16M内存即可读取75M(46万行25列)的Excel文件,且耗时仅2秒。目前项目在GitHub上拥有超过0k的stars和

EasyExcel,被救了!

11月6日消息,阿里巴巴旗下的Java Excel工具库EasyExcel近日宣布,将停止更新,未来将逐步进入维护模式,将继续修复Bug,但不再主动新增功能。

EasyExcel以其快速、简洁和解决大文件内存溢出的能力而著称,官方测试显示,仅需16M内存即可读取75M(46万行25列)的Excel文件,且耗时仅2秒。

目前项目在GitHub上拥有超过0k的stars和7.5k的forks,维护6年关闭了超过000个issue。

但有个好消息:EasyExcel的作者创建了新项目:FastExcel。

开源地址:

作者选择为它起名为 FastExcel,以突出这个框架在处理 Excel 文件时的高性能表现,而不仅仅是简单易用。

FastExcel 将始终坚持免费开源,并采用最开放的 MIT 协议,使其适用于任何商业化场景。这为开发者和企业提供了极大的自由度和灵活性。FastExcel 的一些显著特点包括:

  • 1、完全兼容原 EasyExcel 的所有功能和特性,这使得用户可以无缝过渡。
  • 2、从 EasyExcel 迁移到 FastExcel 只需简单地更换包名和 Maven 依赖即可完成升级。
  • 、在功能上,比 EasyExcel 提供更多创新和改进。
  • 4、FastExcel 1.0.0 版本新增了读取 Excel 指定行数和将 Excel 转换为 PDF 的功能。

他们计划在未来推出更多新特性,以不断提升用户体验和工具实用性。

FastExcel 致力于成为您处理 Excel 文件的最佳选择。

主要特性:

  • 高性能读写:FastExcel 专注于性能优化,能够高效处理大规模的 Excel 数据。相比一些传统的 Excel 处理库,它能显著降低内存占用。
  • 简单易用:该库提供了简洁直观的 API,使得开发者可以轻松集成到项目中,无论是简单的 Excel 操作还是复杂的数据处理都能快速上手。
  • 流式操作:FastExcel 支持流式读取,将一次性加载大量数据的问题降到最低。这种设计方式在处理数十万甚至上百万行的数据时尤为重要。

建议您使用最新版本的 FastExcel,因为最新版本中的性能优化、BUG修复和新功能都会让您的使用更加方便。

当前 FastExcel 底层使用 poi 作为基础包,如果您的项目中已经有 poi 相关组件,需要您手动排除 poi 的相关 jar 包。

如果您使用 Maven 进行项目构建,请在 pom.xml 文件中引入以下配置:

代码语言:javascript代码运行次数:0运行复制
<dependency>
    <groupId>cn.</groupId>
    <artifactId>fastexcel</artifactId>
    <version>1.0.0</version>
</dependency>

如果您使用 Gradle 进行项目构建,请在 build.gradle 文件中引入以下配置:

代码语言:javascript代码运行次数:0运行复制
dependencies {
    implementation 'cn.:fastexcel:1.0.0'
}

EasyExcel 与 FastExcel 的区别:

  • FastExcel 支持所有 EasyExcel 的功能,但是 FastExcel 的性能更好,更稳定。
  • FastExcel 与 EasyExcel 的 API 完全一致,可以无缝切换。
  • FastExcel 会持续的更新,修复 bug,优化性能,增加新功能。EasyExcel 如何升级到 FastExcel

1. 修改依赖

将 EasyExcel 的依赖替换为 FastExcel 的依赖,如下:

代码语言:javascript代码运行次数:0运行复制
<!-- easyexcel 依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>xxxx</version>
</dependency>

的依赖替换为

代码语言:javascript代码运行次数:0运行复制
<dependency>
    <groupId>cn.</groupId>
    <artifactId>fastexcel</artifactId>
    <version>1.0.0</version>
</dependency>

2. 修改代码

将 EasyExcel 的包名替换为 FastExcel 的包名,如下:

代码语言:javascript代码运行次数:0运行复制
// 将 easyexcel 的包名替换为 FastExcel 的包名
import com.**;

替换为

代码语言:javascript代码运行次数:0运行复制
import cn..**;

. 不修改代码直接依赖 FastExcel

如果由于种种原因您不想修改代码,可以直接依赖 FastExcel ,然后在 pom.xml 文件中直接依赖 FastExcel。EasyExcel 与 FastExcel 可以共存,但是长期建议替换为 FastExcel。

4. 建议以后使用 FastExcel 类

为了兼容性考虑保留了 EasyExcel 类,但是建议以后使用 FastExcel 类,FastExcel 类是FastExcel 的入口类,功能包含了 EasyExcel 类的所有功能,以后新特性仅在 FastExcel 类中添加。

简单示例:读取 Excel 文件 下面是读取 Excel 文档的例子:

代码语言:javascript代码运行次数:0运行复制
// 实现 ReadListener 接口,设置读取数据的操作
public class DemoDataListener implements ReadListener<DemoData> {
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        println("解析到一条数据" + (data));
    }

    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        println("所有数据解析完成!");
    }
}

public static void main(String[] args) {
    String fileame = "demo.xlsx";
    // 读取 Excel 文件
    FastExcel.read(fileame, , new DemoDataListener()).sheet().doRead();
}

简单示例:创建 Excel 文件 下面是一个创建 Excel 文档的简单例子:

代码语言:javascript代码运行次数:0运行复制
// 示例数据类
public class DemoData {
    @ExcelProperty("字符串标题")
    private String string;
    @ExcelProperty("日期标题")
    private Date date;
    @ExcelProperty("数字标题")
    private Double doubleData;
    @ExcelIgnore
    private String ignore;
}

// 填充要写入的数据
private static List<DemoData> data() {
    List<DemoData> list = new ArrayList<>();
    for (int i = 0; i < 10; i++) {
        DemoData data = new DemoData();
        data.setString("字符串" + i);
        data.setDate(new Date());
        data.setDoubleData(0.56);
        list.add(data);
    }
    return list;
}

public static void main(String[] args) {
    String fileame = "demo.xlsx";
    // 创建一个名为“模板”的 sheet 页,并写入数据
    FastExcel.write(fileame, ).sheet("模板").doWrite(data());
}
本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2024-12-21,如有侵权请联系 cloudcommunity@tencent 删除数据性能优化字符串高性能内存

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1228991.html

相关标签:无
上传时间: 2025-07-26 06:22:19
留言与评论(共有 14 条评论)
本站网友 强生月抛
24分钟前 发表
官方测试显示
本站网友 toosimple
17分钟前 发表
FastExcel 与 EasyExcel 的 API 完全一致
本站网友 郭美美炫富图片
3分钟前 发表
4. 建议以后使用 FastExcel 类为了兼容性考虑保留了 EasyExcel 类
本站网友 炒外汇合法吗
22分钟前 发表
4. 建议以后使用 FastExcel 类为了兼容性考虑保留了 EasyExcel 类
本站网友 一路顺风
23分钟前 发表
可以无缝切换
本站网友 耳鼻喉
24分钟前 发表
以后新特性仅在 FastExcel 类中添加
本站网友 dvd下载
28分钟前 发表
能够高效处理大规模的 Excel 数据
本站网友 复旦大学配音系女生
16分钟前 发表
以突出这个框架在处理 Excel 文件时的高性能表现
本站网友 国安煞笔
17分钟前 发表
请在 build.gradle 文件中引入以下配置:代码语言:javascript代码运行次数:0运行复制dependencies { implementation 'cn.
本站网友 兰州房屋出租信息
17分钟前 发表
无论是简单的 Excel 操作还是复杂的数据处理都能快速上手
本站网友 淘宝跳蚤市场
29分钟前 发表
EasyExcel 与 FastExcel 可以共存
本站网友 信步教育
1分钟前 发表
但是建议以后使用 FastExcel 类
本站网友 宿迁市实验小学
9分钟前 发表
可以直接依赖 FastExcel