Repolode
apache

apache/fesod

大容量ファイルの処理に適した、ExcelやCSVの読み書きに使える省メモリなJavaライブラリ。

スター
6,263
フォーク
539
未解決の Issue
183
最終コミット
18 時間前

これは何?

Apache Fesod (Incubating) は、xlsx、xls、csvなどの表計算ファイルを読み書きするためのJavaライブラリです。すべての行を一度にメモリへ読み込まず、大容量ファイルを処理できるよう設計されています。ストリームベースの読み込みでは、各行の解析時に処理するリスナーを使用します。

シンプルな静的APIを備えており、開発者は @ExcelProperty アノテーションを付けたJavaクラスで列とのマッピングを定義し、FesodSheet.read または FesodSheet.write を呼び出してファイルを処理します。オブジェクトのリストを名前付きシートに書き込む処理は、数行のコードで実装できます。

内部エンジンには Apache POI を使用しているため、すでにPOIコンポーネントを含むプロジェクトでは、POIのjarが重複しないよう除外する必要があります。Java 1.8以降が必要で、Maven Centralでは fesod-sheet として公開されています。このプロジェクトは、EasyExcel系ライブラリの後継です。

主な機能

  • 01ストリームベースの読み込みにより、大容量の表計算ファイルを処理する際のメモリ使用量を抑えます。
  • 02アノテーションを使って、Javaクラスと表計算ファイルの列をマッピングできます。
  • 03行ごとの処理に対応するリスナーを備えた、シンプルな読み書きAPIを提供します。
  • 04xlsx、xls、csv形式に対応しています。
  • 05Java 1.8以降で利用でき、Maven CentralとGradleから導入できます。

ユースケース

  • ユーザーがアップロードしたExcelファイルをJavaのバックエンドサービスに取り込む。
  • データベースの大規模なクエリ結果を表計算ファイルにエクスポートする。
  • メモリ不足を起こさずに、数百万行のCSVやExcelデータをバッチ処理する。

クイックスタート

  1. 1

    Maven で fesod-sheet の依存関係を追加します

  2. 2

    または、Gradle で fesod-sheet の依存関係を追加します

  3. 3

    FesodSheet.write(fileName, DemoData.class) を呼び出してスプレッドシートを書き込みます

使う前に知っておきたいこと

  • このプロジェクトは Apache Incubating のため、API や動作が今後変更される可能性があります。
  • 内部で Apache POI を使用しているため、すでに POI を含むプロジェクトでは POI の jar を手動で除外する必要があります。

トピック

よくある質問

fesod とは?
大容量ファイルの処理に適した、ExcelやCSVの読み書きに使える省メモリなJavaライブラリ。 Apache Fesod (Incubating) は、xlsx、xls、csvなどの表計算ファイルを読み書きするためのJavaライブラリです。すべての行を一度にメモリへ読み込まず、大容量ファイルを処理できるよう設計されています。ストリームベースの読み込みでは、各行の解析時に処理するリスナーを使用します。
fesod は無料で使えますか?ライセンスは?
fesod は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
fesod は今もメンテナンスされていますか?
活発にメンテナンス中。fesod の最終コミットは 2026年10月19日 です。
fesod は何に使えますか?
ユーザーがアップロードしたExcelファイルをJavaのバックエンドサービスに取り込む。 データベースの大規模なクエリ結果を表計算ファイルにエクスポートする。 メモリ不足を起こさずに、数百万行のCSVやExcelデータをバッチ処理する。
fesod のインストール方法は?
Maven で fesod-sheet の依存関係を追加します または、Gradle で fesod-sheet の依存関係を追加します FesodSheet.write(fileName, DemoData.class) を呼び出してスプレッドシートを書き込みます
fesod はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/apache/fesod

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト