この記事の目的

既存の ReoGrid V3 ユーザーから、同じ質問を繰り返し頂きます。

「V3 の DLL を V4 の DLL に差し替えてリビルドするだけで動きますか?」

結論から言えば 「そのままでは動かない、ただし対応は機械的に進められる」 です。V4 では一部のクラス名変更、いくつかの例外型の削除、データバインディング・フィルタ API の整理が入っています。[Obsolete] 互換シムは存在せず、旧名は完全に削除されています。とはいえ、ほとんどのプロジェクトは置換とちょっとした構造修正で移行できます。

完全な移行ガイドはドキュメントとして公開しています。

➡️ V3 から V4 への移行

本記事は、その 90 秒で読める要約版です。


コンパイル時に問題になる箇所

V3 のコードがそのままでは引っかかる、リネーム・削除の 7 カテゴリです。

  • アクション基底クラスBaseWorksheetActionWorksheetAction
  • アウトライン型ReoGridOutlineBaseOutlineIReoGridOutlineIOutline
  • ヘッダー型ReoGridHeaderWorksheetHeader
  • ドロップダウン階層DropdownListCell は新設の DropdownListBaseCell を継承する形に変更
  • 数式系例外の削除FormulaEvalutionExceptionFormulaNoNameExceptionFormulaParameterMismatchExceptionFormulaTypeMismatchException は廃止。代わりに Cell.FormulaStatus を確認します
  • 検証メソッドのリネームRangePosition.IsValidAddressIsValidAddressFormat(V4.3.0)
  • ConditionalStyleApplyCells の削除Cell.HasConditionalStyles または Worksheet.HasConditionalStyle(...) を使用してください(V4.4)

中核 API である WorkbookWorksheetCellRangePositionCellPositionWorksheetRangeStyle は変更ありません。


実行時に変化する箇所(コンパイルは通るが挙動が違う)

これらは Excel との挙動を揃えるための改善です。多くのケースでは新しい挙動の方が期待に沿いますが、念のため把握しておきましょう。

  • ソート時に数式が行と一緒に動く。V3 はデータのみを並べ替えていましたが、V4 では数式が行に追従します(Excel と同じ動作)。
  • 条件付き書式の評価タイミングが描画時に変更。セル編集のたびに評価していた V3 に比べ、大きなシートで圧倒的に速くなりました。
  • Excel 互換の数式パース。単項プラス(=+D25-...)、括弧を含む引用符付きシート名参照('BS(USD)'!B3)、IF(0, ...) が FALSE 分岐を評価する挙動、=A1/0#DIV/0! を返す挙動など、Excel と揃いました。
  • 文字列の乗算が強制変換される="10"*2 はエラーではなく 20 を返します。
  • VLOOKUP / HLOOKUP / MATCH / XMATCH / XLOOKUP を実装しました。

採用を検討したい新 API

V3 のコードが V4 でクリーンにコンパイルされたら、次は V4 固有の機能を活用しましょう。特に導入価値の高いものを挙げます。

  • 遅延読み込み: 数百万行のデータセットを Worksheet.AddDataSource(...)DataSourceLoadMode.LazyLoading で扱う
  • 複数行の列ヘッダー: Worksheet.ExtensionColumnHeader
  • 条件付き書式: unvell.ReoGrid.ConditionalStyle.Rule
  • 条件付きフィルタ: unvell.ReoGrid.Data.ConditionFilter.ConditionalDataFilter
  • 3 段階のセルロック: 新設の CellLock 列挙体
  • ワークブック全体のハイライト検索: HighlightTextSearchSession
  • Excel 互換のカスタム数値書式(例: "#,##0;[Red]-#,##0")
  • WinAppDriver による UI 自動化: ReoGridControl.EnableUIAutomation = true

機能一覧の全貌は V4 の新機能 ページを参照してください。


配布形態とライセンス

V4 は購入後にカスタマーポータル経由で DLL として提供されます(NuGet パッケージは後日リリース予定)。ルート名前空間 unvell.ReoGrid とアセンブリ名は変更ありませんので、ビルド構成の変更点は参照アセンブリの差し替えのみです。V4 のターゲットは net48 および net8.0-windows です。

V4 は Professional(最大 3 台、サポート 1 ヶ月)と Enterprise(台数無制限、サポート 3 ヶ月)の 2 つのエディションを提供しています。最新の価格は 価格ページ をご覧ください。

V3 は引き続き MIT ライセンスのオープンソースとして GitHub で公開しています。


詳細は完全版の移行ガイドへ

ドキュメント側の移行ガイドには、リネームごとの diff 形式コードサンプル、ステップごとのチェックリスト、エッジケースの注意点まで網羅しています。

➡️ V3 から V4 への移行 — 完全ガイド

ガイドに載っていない移行課題に遭遇された場合 — 特にカスタムセルタイプ、カスタムアクション、大規模なデータバインディング周りで困った場合 — お気軽に お問い合わせ ください。V3 のコードパターンに対応する V4 の最適な書き方をご案内します。