はじめに
ReoGrid は WinForms・WPF アプリケーションに Excel ライクなスプレッドシート機能を組み込める .NET コンポーネントです。GitHub で 1,600 以上のスターを獲得し、国内外の多くのプロジェクトで利用されてきました。
2025年、ReoGrid V4 がリリースされ、V3(MIT ライセンス・オープンソース)から大きく進化しました。本記事では、V3 を使っている開発者が V4 で何を得られるのかを、具体的なコード例とともに紹介します。
V3 は引き続きオープンソース(MIT)で公開・メンテナンスを継続しています。
V4 は商用ライセンス製品として提供されており、Professional 版・Enterprise 版の2エディションがあります。
V4 の主な新機能・改善点
1. 超高速データ読み込み(遅延ロード)
V4 最大の目玉機能です。 100万行のデータでも、数百ミリ秒で画面描画を開始できます。
V3 では大量データをシートに格納すると初期ロードが重くなる課題がありました。V4 では遅延ロード(Lazy Loading) に対応し、スクロール時に必要なデータだけを順次読み込みます。
// ワークシートの行数を設定(例:100万行)
worksheet.SetRows(1000000);
// データソースを遅延読み込みモードで設定
worksheet.AddDataSource(
new RangePosition(0, 0, 1000000, 10),
new MyDataSource(logs),
DataSourceLoadMode.LazyLoading // 遅延ロードを指定
);
業務用アプリケーションの大量データ表示が格段に使いやすくなります。
2. WPF 版を大幅強化
V3 の WPF 版は DropdownListCell などの UI 機能が未対応という大きな制限がありました。
V4 では WinForms 版で使えていた主要機能のほぼすべてを WPF 版にも対応。描画速度・安定性も向上し、WinForms 版と同等の操作性を実現しています。
WPF でシステム開発を行っているプロジェクトにとって、V4 へのアップグレードは特に大きなメリットがあります。
3. 複数行ヘッダーの対応
列ヘッダーに複数行・セル結合を指定できるようになりました。カテゴリ分類や複雑な見出しを持つ業務帳票に対応できます。
var extensionHeader = worksheet.ExtensionColumnHeader;
extensionHeader.SetRowCount(3);
extensionHeader.MergeCells(0, 1, 2, 1); // 縦2行分を結合
extensionHeader[0, 1].Text = "大分類";
4. 柔軟なデータソース機能
IDataSource<T> インターフェイスを実装することで、外部DBやAPIのデータをワークシートに効率的にバインドできます。
public class MyDataSource : IDataSource<IDataRecord>
{
private object[,] data;
// ...
}
var ds = new MyDataSource();
sheet.AddDataSource("A1:G30", ds);
5. DropdownListCell の強化
セル範囲を候補リストとして指定できるようになりました。マスターデータと連動した動的なリスト選択が実現できます。
// G1~G3000 のセル範囲を選択肢として指定
var myRange = sheet1.Ranges["G1:G3000"];
var dropdownList1 = new DropdownListCell(myRange);
sheet1.Cells["A1"].Body = dropdownList1;
6. Excel 互換のカスタム書式パターン
Excel と同じ書式文字列で数値・通貨・日付の表示を制御できます。
cell1.DataFormat = CellDataFormatFlag.Number;
cell1.DataFormatArgs = "#,##0;[Red]-#,##0"; // 負数を赤で表示
7. 条件付きスタイル
セルの値に応じてスタイルを自動適用できます。数式ベースの柔軟な条件判定に対応しています。
var rule1 = new Rule("THIS > 1000", "A1:Z30", new WorksheetRangeStyle
{
Flag = PlainStyleFlag.TextColor,
TextColor = SolidColor.Yellow,
});
sheet.ConditionalStyles.Add(rule1);
THIS は現在のセル値を参照する予約語です。複数の条件を同時に適用することも可能です。
8. カスタマイズ条件フィルター
プログラムから複数条件を組み合わせたフィルタリングを実装できます。
var filter = new ConditionalDataFilter();
var condition = new FilterCondition(2, ConditionOperator.NotEquals, "USD");
filter.Conditions.Add(condition);
sheet.DoFilter("A1:G30", filter);
9. セルロックの3段階制御
シート全体・範囲・個別セルという3段階で編集ロックを制御できます。業務フォームや申請書の入力制御に最適です。
// シート全体をロックして、C5 だけ解除
sheet.IsLocked = true;
sheet.Cells["C5"].IsLocked = CellLock.UnLocked;
10. WinAppDriver による自動テスト対応
UI 自動テストに正式対応。Appium・Selenium と組み合わせてリグレッションテストを自動化できます。
ReoGridControl.EnableUIAutomation = true;
その他の改善点
- アウトライン API の強化(展開ボタン位置の設定、CollapseAll / ExpandAll)
- 文字列検索機能の強化(ハイライト表示、インクリメンタル検索)
- 0行・0列のワークシート対応(空シートからの動的追加が可能)
- 描画の高速化(スクロール・選択・編集の応答性向上)
-
浮動小数点計算精度の補正(
3.00000000000004のような表示を防止) - 対応数式の拡充(Excel に近い表現力)
V3 との違い:ライセンスについて
| V3 Community | V4 Professional | V4 Enterprise | |
|---|---|---|---|
| ライセンス | MIT(無料) | 商用ライセンス | 商用ライセンス |
| 利用可能端末数 | 制限なし | 3台以下 | 無制限 |
| 技術サポート | なし | 1ヶ月 | 3ヶ月 |
| 価格 | 無料 | 価格一覧 | 価格一覧 |
| ソースコード | 公開(GitHub) | クローズド | クローズド |
V3 から V4 への移行は、基本的な API 設計は互換性を保っています。移行に関するご相談は公式サポートへお気軽にどうぞ。
こんな場合に V4 への移行を検討してください
- 100万行超のデータを扱うシステムを開発している → 遅延ロードで解決
- WPF アプリで V3 の機能制限に悩んでいた → V4 で WPF が大幅改善
- 業務帳票で複雑なヘッダーや条件付き書式が必要 → V4 で対応
- 商用プロジェクトで安定したサポートが欲しい → 技術サポート付き
サポートサービスについて
V4 では、購入後のサポートに加え、月額制のサポートサービスも提供しています。
| サービス | 内容 |
|---|---|
| 技術サポート | 使い方相談・サンプルコード・不具合対処 |
| 開発支援サポート | 設計提案・カスタマイズ・移植支援・長期レビュー |
詳細な料金は 価格一覧ページ をご参照ください。
まとめ
ReoGrid V4 は、V3 の豊富な機能をベースに、業務アプリ開発で求められる高度なニーズに応えるための大幅なアップデートです。特に遅延ロード・WPF 強化・条件付きスタイル・自動テスト対応は、実際の開発現場での生産性を大きく向上させます。
V3 をお使いの方は、ぜひ V4 の機能を確認してみてください。
👉 ReoGrid V4 詳細・購入はこちら
👉 V4 新機能の詳細ドキュメント
👉 ReoGrid V3(オープンソース)GitHub