13 ポイント 投稿者 danpung2 2026-03-30 | 4件のコメント | WhatsAppで共有

こんにちは、StreamSheetを作った開発者です。

実務でExcelエクスポートを実装する際、OOM(OutOfMemory)の問題が頻繁に発生しており、発生するたびに個別に修正していました。
また、Excelエクスポート機能を作るたびに、繰り返しボイラープレートを書かなければなりませんでした。
こうした問題を実務で何度も経験する中で、簡単に大容量データをExcelファイルとしてエクスポートできるSDKを作りたいと思うようになりました。

[プロジェクト目標]

メモリ安定性: JPA Stream、JDBC ResultSet、MongoDB Cursorなどを通じた100万行以上のデータエクスポートでも、OOMなしで安定動作
使いやすさ: DTOに@ExcelSheet、@ExcelColumnを付けるだけで簡単にカラム定義
統合性: Spring Boot Auto-configurationによりすぐに利用可能

ご確認いただき、フィードバックをいただけると幸いです。

4件のコメント

 
jogakdal 2026-04-07

テンプレートベースのExcelレポート生成ライブラリ(TBEG)を使ってみてください。

https://github.com/jogakdal/data-processors-with-excel

 
callakrsos 2026-03-30

Excel には最大行数があるので
大容量の場合は csv のほうがよくないですか

 
danpung2 2026-03-30

おっしゃるとおり、Excel には最大で約104万行という行数制限があるため、大容量データの場合は CSV のほうがより適した選択肢になり得ますし、私自身も CSV を好むほうです。

ただ、エクスポート機能を要望してくださった方々の多くが Excel フォーマットを好まれていたため、その過程で繰り返し発生するコード作成や OOM 問題を減らしたいという思いから始めたプロジェクトです。

ご意見ありがとうございます!

 
hshim 2026-03-31

私も実務経験上、顧客はCSVよりもExcelのほうを好む傾向があるように思います。
私の場合もそうですし、確かに需要はありそうです。