お世話になっております。
サーバ更新に伴い、RapidReportを含む各種ソフトウェアのバージョンを更新したところ、RapidReportを使用して作成された帳票のxlsx 出力が、バージョンアップ後に明らかに遅くなる事象を確認しました。
7月2日に投稿された、既存の「大量出力の推奨設定・高速化オプションはない」旨の投稿は確認済みです。
今回は 設定の有無ではなく、結合セル(マージ)処理の既知不具合・回避策 をお伺いしたく投稿いたします。
■現象
受注日報(1シート、罫線・セル結合あり)を画面から出力すると、
・旧: RapidReport 4.21 + POI 3.10 + Java 8 → 約10秒
・新: RapidReport 5.18 + POI 5.5.1 + Java 21 → 約20〜22秒(2回目)
DB(ストアド)単体の差は約1秒程度で、残り約10秒は getPages() 後の xlsx 生成側です。
■出力コード(要約)
XSSFWorkbook + XlsxRenderer で newSheet → pages.render(renderer) → workbook.write です。
※既存投稿と同様の一般的な書き方です。
■プロファイラで分かったこと(JFR)
CPU の大半は RapidReport 本体ではなく Apache POI 側でした。
特に次が上位です。
addMergedRegion のたびに既存の結合を全件検証しているように見え、結合数に対して急激に遅くなっています。テンプレートは枠・結合が多い帳票です。
■環境
■質問
以上、お手数ですがご確認をお願いいたします。