后端【免费下载链接】fesodFast. Easy. Done. Processing spreadsheets without worrying about large files causing OOM.项目地址https://gitcode.com/gh_mirrors/fast/fesod点击查看免费下载Apache FesodIncubating是一款面向 Java 的高性能、内存友好的电子表格Excel/CSV读写库主打流式处理与低内存占用。本文围绕官方快速入门安装文档完整梳理版本兼容性矩阵、核心依赖组成、Maven 与 Gradle 的引入方式并结合仓库源码根 POM、模块 POM 与入口 API说明依赖背后的真实实现结构帮助你在一分钟内完成依赖配置并跑通第一个读/写示例。版本与 JDK 兼容性从 JDK8 到 JDK25官方安装文档给出了每个版本的最低 Java 语言版本要求。所有版本均以JDK8 为最低支持基线且随着版本迭代JDK 上限从 JDK21 逐步扩展到 JDK25版本JDK 版本支持范围说明2.0.2-incubatingJDK8 - JDK25Apache Incubator 发布版2.0.1-incubatingJDK8 - JDK25Apache Incubator 发布版2.0.0-incubatingJDK8 - JDK25NA不可用1.3.xJDK8 - JDK25非 Apache 发布版1.2.xJDK8 - JDK21非 Apache 发布版1.1.xJDK8 - JDK21非 Apache 发布版1.0.xJDK8 - JDK21非 Apache 发布版JDK8 兼容性在仓库中有明确的工程化保证根 pom.xml 中将java.version、maven.compiler.source、maven.compiler.target均设置为1.8即项目源码与字节码统一按 Java 8 标准编译因此任何高于 JDK8 的运行时都能平滑加载。对于 JDK9 及以上的模块化运行时根 pom.xml 提供了jdk9plusprofile当检测到[9,)的 JDK 时会自动为测试运行追加--add-opensjava.base/java.langALL-UNNAMED、--add-opensjava.base/java.utilALL-UNNAMED、--add-opensjava.base/sun.reflect.annotationALL-UNNAMED等反射开放参数。这解释了为何该库在 JDK9 的强封装模块系统下仍能正常完成对象字段的读写访问。官方推荐始终使用最新版本因为最新版本集中了性能优化、缺陷修复与新特性如果你正处于 1.x 升级过渡期请参考仓库内的 版本发布记录 与 迁移说明 了解变更要点。核心依赖POI、Commons CSV 与 EhcacheApache FesodIncubating建立在三个关键依赖之上Apache POI 5.5.1负责 Excel.xls/.xlsx文件解析与生成Apache Commons CSV 1.14.1提供 CSV 文件读写支持Ehcache 3.9.11提供缓存功能用于控制读过程中的内存占用。这些版本号与根 pom.xml 中的poi.version5.5.1、commons-csv.version1.14.1、ehcache.version3.9.11一一对应说明文档与源码构建配置保持同步。此外根 POM 还统一管理了 commons-lang3、commons-io、slf4j-api 2.0.19、fastjson2、spring-core 5.3.39 等传递依赖版本避免版本漂移。模块化工程结构fesod-sheet 背后还有什么仓库采用多模块 Maven 工程根 pom.xml 声明了四个模块fesod-bom、fesod-common、fesod-shaded、fesod-sheet。你引入的fesod-sheet并不是孤立的一个 jar从 fesod-sheet/pom.xml 可以看出它同时依赖fesod-common公共工具层字符串、集合、校验等工具类见 fesod-common/src/main/java/org/apache/fesod/common/utilfesod-shaded将 spring-core 重新定位relocate到org.apache.fesod.shaded命名空间的隔离包。见 fesod-shaded/pom.xml其目的是避免与使用方项目自身的 Spring 版本产生类路径冲突poi / poi-ooxmlExcel 解析底层且均排除了commons-codecfesod-sheet/pom.xml进一步降低依赖冲突面。这也直接呼应了安装文档中的提示如果你的项目已经包含 POI 相关组件可能需要手动排除 POI 相关 jar 以避免版本冲突。Maven 引入方式如果你的项目使用 Maven 构建在pom.xml中添加如下依赖即可dependency groupIdorg.apache.fesod/groupId artifactIdfesod-sheet/artifactId version2.0.2-incubating/version /dependency可选使用 fesod-bom 统一管理版本若你的工程中同时需要多个 Fesod 组件如fesod-common与fesod-sheet可以通过 fesod-bom/pom.xml 提供的 BOM 统一对齐版本避免手动维护多个版本号dependencyManagement dependencies dependency groupIdorg.apache.fesod/groupId artifactIdfesod-bom/artifactId version2.0.2-incubating/version typepom/type scopeimport/scope /dependency /dependencies /dependencyManagement之后引入组件时即可省略version。BOM 中已托管fesod-common与fesod-sheet两个构件。版本说明安装文档以2.0.2-incubating为例当前仓库源码主分支的 revision 为2.1.0-incubating见根 pom.xml发布版本的完整列表可在 Maven Central 上以org.apache.fesod:fesod-sheet检索。Gradle 引入方式使用 Gradle 构建时在build.gradle的dependencies块中添加dependencies { implementation org.apache.fesod:fesod-sheet:2.0.2-incubating }Groovy DSL 与 Kotlin DSL 下坐标写法一致仅字符串语法略有差异Kotlin DSL 推荐使用双引号implementation(org.apache.fesod:fesod-sheet:2.0.2-incubating)。引入后快速验证读写两个示例依赖配置完成后可以立即用官方入口类 FesodSheet.java 验证环境。该入口类提供了read/write系列静态工厂方法支持以String路径、File、OutputStream等多种方式创建读写器示例见 quickstart/example.md。读取示例流式 监听器// 实现 ReadListener 接口逐行处理读取到的数据 public class DemoDataListener implements ReadListenerDemoData { Override public void invoke(DemoData data, AnalysisContext context) { System.out.println(Parsed a data entry JSON.toJSONString(data)); } Override public void doAfterAllAnalysed(AnalysisContext context) { System.out.println(All data parsed!); } } public static void main(String[] args) { String fileName demo.xlsx; // 流式读取不会一次性把整份文件加载进内存 FesodSheet.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); }写入示例注解映射表头public class DemoData { ExcelProperty(String Title) private String string; ExcelProperty(Date Title) private Date date; ExcelProperty(Number Title) private Double doubleData; ExcelIgnore private String ignore; // 该字段不会写入表格 } public static void main(String[] args) { String fileName demo.xlsx; // 以 DemoData 为表头模型写入名为 Template 的工作表 FesodSheet.write(fileName, DemoData.class).sheet(Template).doWrite(data()); }写入结果中第 1 行表头取自ExcelProperty注解的值ExcelIgnore标注的字段被排除具体产出效果与更多写入方式可参阅 写入文档。更完整的场景同步读取、无模型读取、列过滤等参见 读取文档。常见问题与注意事项POI 版本冲突由于 Fesod 底层依赖 POI 5.5.1若项目内已有其他 POI 版本建议在依赖中排除 POI 相关 jar避免运行时出现类方法缺失等NoSuchMethodError类问题。JDK9 反射访问项目已在构建阶段为测试配置--add-opens在自建应用中以 JDK9 运行时如果遇到 Illegal reflective access 警告可按上述 profile 参数补充 JVM 启动参数。版本选择正式环境建议选用 Apache Incubator 系列最新发布版当前文档示例为2.0.2-incubating以获得最新的性能优化与修复如需追踪各版本行为差异可阅读 下载与版本说明 及 项目介绍。赞分享后端【免费下载链接】fesodFast. Easy. Done. Processing spreadsheets without worrying about large files causing OOM.项目地址https://gitcode.com/gh_mirrors/fast/fesod点击查看免费下载相关推荐Instatic 多语言网站手把手指南从 lang 属性到 3 步搭好语言切换器Instatic 多语言网站手把手指南从 lang 属性到 3 步搭好语言切换器 Instatic 是一款自托管的可视化 CMS它的多语言支持其实是两层结构后端Windows/Linux/macOS全覆盖Scout-App跨平台支持详解与首次安装避坑清单Windows/Linux/macOS全覆盖Scout App跨平台支持详解与首次安装避坑清单 Scout App 是一款免费开源的跨平台 Sass 处理器桌面应用开发工具Apache Arrow Java 模块安装指南系统兼容性、JDK --add-opens 参数与 Maven 依赖配置详解Apache Arrow Java 模块安装指南系统兼容性、JDK add opens 参数与 Maven 依赖配置详解 Apache Arrow 的 Jav数据工程数据分析大数据上一篇FGO-py终极指南5步实现全自动游戏管理下一篇KeyStore Explorer测试套件单元测试和集成测试完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?