Migrates a Java project from FastExcel 1.3 (cn.idev.excel:fastexcel:1.3.0) to Apache Fesod (org.apache.fesod:fesod-sheet:2.0.1-incubating). Invoke this skill when asked to "migrate FastExcel to Fesod", "upgrade to Apache Fesod", or "replace cn.idev.excel". FastExcel 1.3 is the direct predecessor of Apache Fesod. Supports both legacy namespaces seen in real projects: cn.idev.excel.* and org.apache.fesod.excel.*. The entry classes FastExcel and FastExcelFactory are kept as @Deprecated aliases in Fesod, so call-site renames are strongly recommended but NOT required for compilation. The only breaking change is the Java package prefix.
FastExcel (cn.idev.excel:fastexcel:1.3.0) was donated to the Apache Software
Foundation and reborn as Apache Fesod (Incubating).
The latest stable release is 2.0.1-incubating.
Key facts that affect how this migration works:
cn.idev.excel.FastExcel and cn.idev.excel.FastExcelFactory are renamed,
but Fesod ships at
and
so existing call sites compile after a package-only swap.@Deprecated bridge subclassesorg.apache.fesod.sheet.FastExcelorg.apache.fesod.sheet.FastExcelFactory*.excel.* imports must move to *.sheet.*.
In practice, both of these are common and must be handled:
cn.idev.excel.* → org.apache.fesod.sheet.*org.apache.fesod.excel.* → org.apache.fesod.sheet.*ByFastExcelCGLIB → ByFesodCGLIB.
This only matters if the project inspects generated class names at runtime.The official Fesod migration doc recommends a three-phase gradual approach; this skill implements all three phases in one pass, but each phase is clearly labelled so the developer can stop after Phase 1 or Phase 2 if needed.
This phase alone is sufficient to make the project compile and run on Fesod with deprecation warnings. It is always safe to stop here first and run tests.
In pom.xml, find the FastExcel dependency block:
<dependency>
<groupId>cn.idev.excel</groupId>
<artifactId>fastexcel</artifactId>
<version>...</version>
</dependency>
Replace it with:
<dependency>
<groupId>org.apache.fesod</groupId>
<artifactId>fesod-sheet</artifactId>
<version>2.0.1-incubating</version>
</dependency>
Also remove the FastExcel version property if it exists, e.g.:
<fastexcel.version>1.3.0</fastexcel.version>
In build.gradle (or build.gradle.kts), replace:
// Groovy DSL
implementation 'cn.idev.excel:fastexcel:1.3.0'