大規模なスプレッドシートでうまく機能するライブラリを見つけた人はいますか?
私はApacheのPOIを試しましたが、大きなファイルの読み取りと書き込みの両方で惨めに失敗します。大量のメモリを使用するため、20 MB 以上のスプレッドシートを解析または作成するにはスーパーコンピューターが必要になります。
確かに、よりメモリ効率の良い方法があり、誰かがそれを書いていますか?!
大規模なスプレッドシートでうまく機能するライブラリを見つけた人はいますか?
私はApacheのPOIを試しましたが、大きなファイルの読み取りと書き込みの両方で惨めに失敗します。大量のメモリを使用するため、20 MB 以上のスプレッドシートを解析または作成するにはスーパーコンピューターが必要になります。
確かに、よりメモリ効率の良い方法があり、誰かがそれを書いていますか?!
@pstanton ..私は同様のソリューションに取り組んでおり、データベースからエクスポートされた数百行の大きなExcel 2007ファイルを書き込むことができました。ここにリンクがあります: http://vikramvkamath.blogspot.com/2010/07/writing-large-excel-files-excel-2007.html
私の解決策は、このhttp リンクをたどる Yegor Koslov の SheetWriter クラスの拡張であり、私にとっては非常にうまく機能します。問題が発生した場合はお知らせください。
〜ヴィクラム
これは基本的にJannik のと同じ考え方ですが、Java COM Bridgeを使用して、Java から直接 Excel API にアクセスします。Word でこれを行うと、うまくいきました。明らかな欠点は、Windows でしか動作しないことです。
私は本当にあなたに図書館を勧めることはできません。しかし、最高のパフォーマンスが必要な場合は、最初に Excel を思いついた人に相談してみる価値があるかもしれません。.NET から利用できる API は、Excel ファイルの処理においてはるかに効率的であると思います。したがって、Web サービスまたは同様のコンポーネントを .NET に実装して、Excel 関連の面倒な作業のほとんどを実行し、それを Java から呼び出すだけでよいという考えになります。
POIの代わりにJExcelAPIを試しましたか?私はそれがメモリ効率であるとコメントすることはできないと告白します。
投稿時点では、大きな Excel ファイルを読み書きするための純粋な Java スケーラブル ソリューションはありません。
CSVファイル形式が役立つ場合があります。各値をコンマで区切り、.csv 拡張子でファイルを保存するだけです。