Apache POI SXSSFWorkbook を使用して .xlsx Excel スプレッドシートを生成していますが、ダウンロードする代わりに、そのファイルを blob に保存する必要があります。スケールアップできるようにするためにもこれが必要なので、ファイルに 600,000 件以上のレコードを入れる場合は、メモリ不足エラーを回避する必要があります。これがコードです
SXSSFWorkbook workbook = new SXSSFWorkbook(100);
addContent();
通常、ファイルに出力するとき、私は次のようなことをします
OutputStream output = response.getOutputStream();
workbook.write(output);
ただし、この場合、SXSSFWorkbook を BLOB に保存する方法がないことを除いて、ファイルに移動する必要はありません。データベースの BLOB に移動するだけです。ワークブックを OutputStream に保存して、それを BLOB に保存しようとすることもできますが、通常は代わりに inputStream が必要です。outputStream を inputStream に変換するユーティリティはありますか?