EasyExcel Archived? How FastExcel and Apache Fesod Provide a Modern Java Excel Solution

When Alibaba archived the popular EasyExcel library, developers faced uncertainty about future maintenance, memory usage, and JDK compatibility, prompting the emergence of FastExcel as a drop‑in replacement and the Apache‑incubated Fesod project, which together offer a high‑performance, low‑memory Java Excel processing ecosystem.

Java Architecture Diary
Java Architecture Diary
Java Architecture Diary
EasyExcel Archived? How FastExcel and Apache Fesod Provide a Modern Java Excel Solution

Why EasyExcel Was So Popular

Java developers historically relied on Apache POI for Excel handling, but POI loads entire files into memory using a DOM model, causing excessive heap consumption and OOM crashes for large spreadsheets. EasyExcel, open‑sourced by Alibaba in 2018, solves this by using a SAX‑style streaming parser that reads rows one by one, releasing memory after each row, and offers a concise POJO‑based API that requires only a few annotations.

Enterprise Open‑Source Dilemma

In early 2023 the EasyExcel repository was marked as Archived , meaning only critical bug fixes would be accepted. The slowdown stemmed from the core maintainer leaving the company, exposing a common issue in Chinese open‑source projects: over‑reliance on a single individual and insufficient distributed governance. Without a hand‑off process, the project stalled while enterprises that depended on it faced potential technical debt as JDK versions advanced.

Stop new feature development, only bug fixes; users are advised to evaluate and migrate to other products.

FastExcel Takes Over

FastExcel was created as a compatible successor to EasyExcel. It retains the same API signatures, making migration trivial, while adding performance optimizations and extending support from JDK 8 up to JDK 25. Key advantages include:

Full compatibility : API mirrors EasyExcel, minimizing migration effort.

Performance boost : Further reduces memory footprint and speeds up processing in many scenarios.

Version upgrade : Supports newer JDK releases and cleans up legacy issues.

Switching Maven coordinates is as simple as replacing the dependency:

<!-- Original EasyExcel -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.3.4</version>
</dependency>

<!-- Replace with FastExcel -->
<dependency>
    <groupId>cn.idev.excel</groupId>
    <artifactId>fastexcel</artifactId>
    <version>1.2.0</version>
</dependency>

At the code level the change is limited to the import statement and class name:

// Original EasyExcel usage
import com.alibaba.excel.EasyExcel;
EasyExcel.read(fileName, Data.class, listener).sheet().doRead();

// FastExcel equivalent (recommended)
import cn.idev.excel.FastExcel;
FastExcel.read(fileName, Data.class, listener).sheet().doRead();

Moving Into the Apache Incubator

To address governance concerns, the FastExcel community donated the project to the Apache Software Foundation. After a naming conflict with an existing Python project, the incubating project was renamed Apache Fesod (Fast Easy Spreadsheet and Other Documents). The project will eventually rename its main class from FastExcel to FesodSheet and move the package from cn.idev.excel to org.apache.fesod. Apache POI maintainer Dave Fisher has expressed interest in collaborating, positioning Fesod as a high‑performance complement to POI for massive data export scenarios.

Three‑Generation Comparison

The evolution can be summarised as:

EasyExcel – GroupId: com.alibaba, ArtifactId: easyexcel, Entry class: EasyExcel, Status: Archived.

FastExcel – GroupId: cn.idev.excel, ArtifactId: fastexcel, Entry class: FastExcel, Status: Active.

Fesod – GroupId: org.apache.fesod, ArtifactId: fesod, Entry class: FesodSheet, Status: Incubating.

Migration Recommendations

For Spring Boot projects, a dedicated starter (currently based on FastExcel) simplifies integration. Add the following Maven dependency:

<dependency>
    <groupId>com.pig4cloud.excel</groupId>
    <artifactId>excel-spring-boot-starter</artifactId>
    <version>3.4.3</version>
</dependency>

Import and export can then be handled with a single annotation:

// Import: automatically parse uploaded Excel
@PostMapping("/import")
public void importData(@RequestExcel List<UserVO> list) {
    userService.saveBatch(list);
}

// Export: return value becomes an Excel download
@GetMapping("/export")
@ResponseExcel(name = "User List")
public List<UserVO> export() {
    return userService.list();
}

This approach eliminates manual response handling and stream management, offering a stable path forward while FastExcel and Fesod continue to evolve.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

JavamavenEasyExcelExcelFastExcelApache Fesod
Java Architecture Diary
Written by

Java Architecture Diary

Committed to sharing original, high‑quality technical articles; no fluff or promotional content.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.