バージョンアップに伴う帳票出力時のパフォーマンス低下について

56 views
Skip to first unread message

PSC竹内

unread,
Sep 1, 2026, 6:05:04 AMSep 1
to RapidReportサポート QAフォーラム

お世話になっております。

サーバ更新に伴い、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 側でした。
 特に次が上位です。

  • XSSFSheet.addMergedRegion
  • XSSFSheet.validateMergedRegions
  • XSSFSheet.getMergedRegions
  • CellRangeAddress.valueOf / CellReference.separateRefParts(正規表現)

addMergedRegion のたびに既存の結合を全件検証しているように見え、結合数に対して急激に遅くなっています。テンプレートは枠・結合が多い帳票です。

■環境

  • RapidReport 5.18(report / report.xlsx / report.pdf)
  • Apache POI 5.5.1(poi / poi-ooxml / poi-ooxml-full)+ xmlbeans 5.3.0
  • Java 21、Tomcat 11
  • 出力形式: xlsx、1シート

■質問

  1. POI 5.x の validateMergedRegions がボトルネックになる既知の問題はありますでしょうか。また、5.18 が想定する POI のバージョンは 5.5.1 でよろしいでしょうか。
  2. 結合の検証を省略する API(例: addMergedRegionUnsafe)をレンダラ側で使う予定、または利用可能な互換オプションはありますでしょうか。
  3. テンプレート側で結合・罫線・ダミー枠を減らす以外に、xlsx のマージ件数を抑える方法はありますでしょうか。
  4. 既存 QA では高速化オプションはないとのことでしたが、4.21→5.18 かつ POI 3.10→5.x に限った性能劣化として、追加の回避策はありますでしょうか。

以上、お手数ですがご確認をお願いいたします。

RapidReport

unread,
Sep 1, 2026, 9:42:56 PMSep 1
to RapidReportサポート QAフォーラム
ご迷惑をおかけして申し訳ありません。
また、詳細なご報告を頂きましてありがとうございます。

対応が可能かどうかなどの調査を行った上で回答いたしますので、
少々お時間をください。
来週中の回答となる見込みです。

なお、5.18ではPOI5.4を想定していましたが、5.5.1でのテストも行います。

2026年9月1日火曜日 19:05:04 UTC+9 pscz...@gmail.com:

RapidReport

unread,
Sep 8, 2026, 8:14:38 PM (9 days ago) Sep 8
to RapidReportサポート QAフォーラム
ご指摘の通り、XLSX出力ではセルのマージ処理にてUnsafe関数を利用することで、パフォーマンスが改善することが確認されました。
情報を頂き、誠にありがとうございます。

Unsafe関数を利用する形として、さらにテストを行ったバージョンv5.18.2を用意しましたので、こちらをご利用ください。
今回の修正はv5.19以降にも取り込まれる予定です。
また、POI5.5.1を利用したテストも行い、全機能が問題なく利用できることを確認しました。

v5.18.2 (XLSXレンダラのjarのみとなります。このファイルだけを差し替えてください。)

2026年9月2日水曜日 10:42:56 UTC+9 RapidReport:

PSC竹内

unread,
Sep 10, 2026, 8:26:29 PM (7 days ago) Sep 10
to RapidReportサポート QAフォーラム
お世話になっております。

jarファイルの入替によりパフォーマンスが改善されることを確認しました。
迅速な対応をありがとうございました!

2026年9月9日水曜日 9:14:38 UTC+9 RapidReport:
Reply all
Reply to author
Forward
0 new messages