BLOG

ReoGrid 4.4 リリースのご案内 — 大規模データ処理の性能改善

reogridspreadsheet.netperformancerelease
2026年4月30日·UNVELL Inc.
ReoGrid 4.4 リリースのご案内 — 大規模データ処理の性能改善

はじめに

ReoGrid は、WinForms および WPF アプリケーションに Excel ライクなスプレッドシート機能を組み込める .NET コンポーネントです。

このたびリリースいたしました ReoGrid 4.4 は、API の互換性を維持したまま、処理性能を大幅に改善したバージョンです。お客様より多くお寄せいただいておりました「大量データ処理時の応答性」「ソート処理の所要時間」に関するご要望に対応し、4.3 系で時間を要していた処理を大きく高速化いたしました。

本記事では、4.4 における主な改善点を、v4.3.13 と v4.4.0 を同一環境で計測した実測値とともにご紹介いたします。


主な改善点

  • 条件付き書式を伴う大量データ投入: 約 11,700 倍(70 秒 → 6 ミリ秒)
  • 1 万行のソート処理: 約 10 倍高速化
  • SetRangeData による 20 万セルの一括ロード: 約 3 倍高速化

バージョンを 4.3.13 から 4.4.0 へアップグレードしていただくのみで、既存コードの変更は不要です。


計測環境

項目内容
CPUAMD Ryzen 9 9900X (12 コア / 24 スレッド)
OSWindows 11 Pro
Runtime.NET 8.0 (x64, Release ビルド)
比較対象v4.3.13v4.4.0
測定方法各シナリオ warmup 1 回 + 計測 3 回、min / median を採用

性能改善の詳細

1. 条件付き書式と大量データ投入:約 11,700 倍の高速化

シナリオ: A1:A5000 に「値が 100 を超えた場合に文字色を赤にする」条件付き書式を 1 件設定し、5000 セルに値を順次書き込む処理。

バージョン所要時間
v4.3.1370,175 ms(約 70 秒)
v4.4.06 ms
sheet.ConditionalStyles.Add(new Rule("THIS > 100", "A1:A5000", new WorksheetRangeStyle
{
    Flag = PlainStyleFlag.TextColor,
    TextColor = SolidColor.Red,
}));

for (int r = 0; r < 5000; r++)
{
    sheet[r, 0] = r;
}

業務上の効果: 条件付き書式を設定済みの帳票テンプレートに対し、外部システムから取得したデータを流し込むような処理が、滞りなく実行できるようになります。

2. 1 万行のソート:約 10 倍の高速化

シナリオ: 1 万行 × 5 列のランダム整数を A 列で昇順ソート。

バージョン所要時間
v4.3.13397 ms
v4.4.039 ms
sheet.SortColumn(0, new RangePosition(0, 0, 10000, 5), SortOrder.Ascending);

業務上の効果: Excel と同等の操作感で、画面上のグリッドに対する大規模データの並べ替えを行うことができます。

3. SetRangeData による一括ロード:約 3 倍の高速化

シナリオ: 10,000 行 × 20 列(合計 20 万セル)の 2 次元配列を SetRangeData() にて一括投入。

バージョン所要時間
v4.3.13326 ms
v4.4.0104 ms
var data = new object[10000, 20];
// ... データを設定 ...
sheet.SetRangeData(new RangePosition(0, 0, 10000, 20), data);

業務上の効果: データベースや CSV から取得したレコードをグリッドへ反映する初期ロード処理の所要時間が短縮されます。


バグ修正

主なバグ修正は以下のとおりです。

  • 数式パーサ: 単項プラス演算子に対応(例: =+D25-F8-F14
  • 数式パーサ: クォート付きシート名参照に対応(例: 'BS(円)'!B3'My Sheet'!A1
  • ソート: 数式セルがソート時に元の位置に残る問題を修正。Excel と同様に、数式は行とともに移動するようになりました
  • 条件付き書式: ClearConditionalStyles におけるルール解除順序の不具合を修正

API の変更点

互換性への影響は最小限ですが、以下の API が変更されております。

削除

  • Worksheet.ConditionalStyleApplyCells プロパティ
  • ConditionalStyleApplyCellCollection クラス

代替として、以下のメソッドをご利用ください。

追加

bool hasStyle = worksheet.HasConditionalStyle(row, col);
bool hasStyle = worksheet.HasConditionalStyle(new CellPosition("A1"));
bool hasStyle = cell.HasConditionalStyles;

アップグレード方法

ReoGrid V4 以降は有償版でのご提供となっております。最新版のアセンブリは、弊社ポータルサイトにログインのうえダウンロードいただけます。

既存プロジェクトにおきましては、ダウンロードしたアセンブリへの参照を差し替えていただくのみでアップグレードが完了し、コードの変更は不要です。

なお、ConditionalStyleApplyCells を直接ご参照されていた場合のみ、上記 HasConditionalStyle() への置き換えをお願いいたします。


おわりに

ReoGrid 4.4 は、新機能の追加よりも、既存ユーザーの皆様にとって影響の大きい性能課題の解消 に注力したリリースでございます。

ご紹介いたしました数値は、すべて同一環境・同一コードで v4.3.13 と v4.4.0 を比較した実測値です。

これまで処理時間の長さからご利用を見送られていたケースがございましたら、ぜひ 4.4 にてお試しいただけますと幸いです。


関連リンク