.NET デスクトップアプリに「Excel のような表」を組み込みたいとき、日本でまず名前が挙がるのが GrapeCity SPREAD(現 MESCIUS、製品名 SPREAD.NET。旧 SPREAD for Windows Forms / WPF)です。長年の実績があり、機能も網羅的で、迷ったらこれを選べば外さない——という定番の選択肢です。

ではなぜ ReoGrid なのか。結論から言うと、「フル機能の総合スイート」が必要ない場面では、軽くて速くて安い方が合理的だからです。この記事では SPREAD を不当に下げることなく、両者がそれぞれ何に向いているのかを正直に整理します。SPREAD が強いところは強いと書きますし、その上で ReoGrid が効く領域をはっきりさせます。

注記:本記事は ReoGrid 側で公開している事実(配布形態・価格・自社計測値)に基づいて書いています。SPREAD の価格やバイナリサイズ、ベンチマーク値といった具体的な数値は、製品改訂で変わるため断定的には扱いません。最新の正確な情報は各社の公式サイトでご確認ください。


まず全体像 — 立ち位置が違う

両者は「.NET の表計算コンポーネント」という同じ棚に並びますが、設計思想の重心が違います。

  • GrapeCity SPREAD は、Excel の機能を可能な限り広くカバーする高機能・総合型。ピボットテーブル、スパークライン、豊富なセル型・関数、作り込まれた Excel 互換性まで、「とにかく全部入っている」ことに価値があります。
  • ReoGrid は、表計算に本当に必要な機能(数式・グラフ・条件付き書式・結合セル・.xlsx 入出力)を押さえた上で、軽量・高速・大規模データ対応に振った設計です。「全部」ではなく「速くて軽い必要十分」を狙っています。

どちらが優れているかではなく、プロジェクトが求めているのが「網羅性」なのか「軽さと速さ」なのかで答えが変わります。


比較表

観点ReoGrid V4GrapeCity SPREAD(SPREAD.NET)
位置づけ軽量・高速なスプレッドシートコンポーネント高機能・実績豊富な総合型スイート
対応プラットフォームWinForms / WPF(.NET 8 + .NET Framework 4.8、同一 APIWinForms / WPF(ほかに ASP.NET、JavaScript 版などは別製品)
配布形態単一アセンブリ unvell.ReoGrid(外部依存ほぼなし)機能が広いぶん複数アセンブリ構成になりやすい
機能の網羅性必要十分(数式・グラフ・条件付き書式・結合・xlsx I/O)非常に広い(ピボット・スパークライン・多彩なセル型/関数 等)
Excel 互換性.xlsx の読み書きと主要関数を網羅互換性の作り込みが厚い
大規模データLazyLoadDataSourceSetRangeData・仮想描画で作り込み仮想化・大量データ対応あり
無料で始めるV3 Community 無償 + V4 を 30 日トライアル評価版あり
価格公開価格・端末ベース(Pro / Enterprise)製品体系に応じた価格
日本語サポートあり(unvell)手厚い(長年の実績・書籍・コミュニティ)
出自オープンソース由来商用専業ベンダー

太字は、それぞれが特に効く部分です。以下、ReoGrid 側のメリットを 1 つずつ事実で裏づけていきます。


メリット 1: 軽い — DLL を 1 つ置くだけ

ReoGrid 本体は unvell.ReoGrid という単一アセンブリとして配布され、外部ライブラリへの依存がほぼありません。WinForms 版も WPF 版も、参照を 1 つ追加すれば動きます。インストーラーや周辺ランタイムの同梱を考える必要がなく、配布物の見通しがそのままシンプルになります。

参照を追加 → unvell.ReoGrid.dll(+ WinForms / WPF 用の薄いコントロール)
依存:基本的に .NET ランタイムのみ

高機能な総合スイートは、その豊富さと引き換えに複数のアセンブリや周辺コンポーネントを伴うことが多く、配布サイズや起動時のアセンブリロード、バージョン管理の手間がそのぶん増えがちです。これは優劣ではなくトレードオフですが、**「機能は必要十分でいいから、とにかく軽く配りたい」**なら、単一 DLL で完結する身軽さは実利になります。社内ツールの ClickOnce 配布や、フットプリントを抑えたい組み込み用途で特に効きます。

WinForms と WPF を同一の APIで扱える点も、軽さに効きます。片方で書いたセル操作・数式・スタイルのコードが、もう片方でもほぼそのまま動くため、二重に学習・実装する必要がありません。


メリット 2: 速い — 描画と一括投入の作り込み

ReoGrid は描画パイプラインそのものを軽く保つ設計で、可視範囲だけを実体化・描画します(仕組みは パフォーマンス を参照)。その上で、データ投入のホットパスを継続的に最適化しています。

  • SetRangeData による一括書き込み — 2 次元ブロックをまとめて流し込みます。sheet["A1"] = x をセル数ぶん呼ぶときに効いてくる「1 セルごとのイベント・セットアップコスト」を回避でき、20 万セル規模で約 3 倍高速化しています(4.4 / 自社計測。4.4 リリースノート)。
  • 条件付き書式との一括投入 も 4.4 で大きく改善し、一括書き込み+条件付き書式の組み合わせで約 11,700 倍の改善を計測しています(同上)。
// 1 セルずつではなく、ブロックで一括投入する
var data = new object[rows, cols];
for (int r = 0; r < rows; r++)
    for (int c = 0; c < cols; c++)
        data[r, c] = source[r, c];

sheet.SetRangeData("A1", data);   // まとめて流し込む方が圧倒的に速い

「Excel 風に見せる」コンポーネントは、見た目が同じでもスクロールの滑らかさや初回描画の速さで体感が大きく分かれます。ReoGrid はそこを軽く保つことに振っており、外部の評価でも軽さ・速さの面が挙げられることが多い領域です。


メリット 3: 大規模データに強い — 100 万行でも止めない

ご相談の中心でもある大規模データは、ReoGrid が特に作り込んでいる部分です。鍵は 「全行をグリッドのメモリに載せない」 という設計です。

ReoGrid 4.4 で追加された LazyLoadDataSource を使うと、100 万行のデータソースを接続しても、実際に Cell インスタンスとして実体化されるのは画面に出ている約 30 行だけです。スクロールした分だけオンデマンドに実体化されます。

using unvell.ReoGrid.Data;

// 100 万行 × 10 列。事前にメモリ上に object[,] として保持しているもの。
var data = new object[1_000_000, 10];
FillData(data);

worksheet.SetRows(data.GetLength(0));

// 1 行で接続。範囲はソースの行数・列数から自動推定される。
worksheet.AddDataSource(
    new LazyLoadDataSource(data),
    DataSourceLoadMode.LazyLoading);

object[,]参照保持(コピーしない)なので、グリッド側のメモリ使用量は「全行 × 全列」ではなく、おおよそ「可視範囲」に収まります。配列ですら大きすぎる場合は IDataSource<T> を自前実装し、GetRecord でディスクや DB からストリーミングする形にもできます。

UI を止めずに数十万〜100 万行を扱う設計の全体像は、WPF で大量データを効率よく表示する遅延ロードモードによる大規模データの高速読み込み にまとめてあります。標準の DataGrid がどこで詰まるか、どこから遅延データソースに切り替えるべきかまで、判断フロー込みで書いています。


メリット 4: 無料から始められる — 評価のハードルが低い

ReoGrid はオープンソースを出自に持ち、V3 Community 版は今も無償で利用できます。最新機能を試したい場合は V4 を 30 日間無料トライアルできます。「まず PoC で触ってから判断したい」「予算化の前に技術検証だけ進めたい」という、日本の現場でよくある進め方と相性が良い構成です。

価格も料金プラン公開しており(いずれも税込)、見積もりを待たずに概算できます。

エディションプラットフォーム価格(税込)開発端末技術サポート
ProfessionalWinForms¥330,0003 台まで1 ヶ月
ProfessionalWPF¥385,0003 台まで1 ヶ月
EnterpriseWinForms¥550,000無制限3 ヶ月
EnterpriseWPF¥605,000無制限3 ヶ月

端末(開発席)ベースのシンプルなライセンスで、Enterprise は端末数無制限です。「数式評価・条件付き書式・.xlsx 入出力を自前で作る工数」と比べたときのコストで見ると、軽量コンポーネントを 1 本入れて済ませる選択は十分に合理的です。


公平に — SPREAD を選ぶべき場面

ここまで ReoGrid のメリットを挙げてきましたが、SPREAD の方が明確に向いているケースもあります。比較記事として正直に書きます。

  • Excel 互換性を極限まで求める — 複雑な .xlsx をレイアウト・関数・書式まで限りなく忠実に再現したい、Excel ファイルの編集互換が要件、という場合は、長年互換性を磨いてきた SPREAD の作り込みが効きます。
  • ピボットテーブル・スパークラインなど高度な機能を標準で使いたい — これらを「設定するだけで使える」状態で揃えたいなら、網羅性で SPREAD が上です。
  • 大企業の長期案件で「実績」と「手厚いサポート」を重視する — 導入事例の多さ、日本語の書籍・記事・コミュニティの厚み、専任サポート体制は、SPREAD の長年の蓄積が大きな安心材料になります。調達・稟議で説明しやすいのも実務上のメリットです。
  • SpreadJS や ActiveReports など同社の他製品と組み合わせる — 製品ラインをまたいだエコシステムで揃えたい場合は、同一ベンダーで統一できる利点があります。

つまり、「最大限の網羅性と互換性、そして大組織向けの手厚い体制」が要件の中心なら SPREAD。一方で、それらをオーバースペックと感じるなら、ReoGrid の軽さ・速さ・コストが効きます。


どちらを選ぶか — 判断フロー

  • 複雑な Excel ファイルを忠実に再現/編集互換が必須? → SPREAD。互換性の作り込みが効く。
  • ピボット・スパークラインなど高度機能を標準で多用する? → SPREAD。
  • 数式・グラフ・条件付き書式・.xlsx I/O があれば十分で、とにかく軽く速く配りたい?ReoGrid
  • 数十万〜100 万行を UI を止めずに表示・編集したい?ReoGridLazyLoadDataSourceSetRangeData)。
  • まず無料で技術検証してから判断したい/コストを抑えたい?ReoGrid(V3 Community + V4 トライアル)。
  • WinForms と WPF を同一 API で両対応したい?ReoGrid

最初に決めるべきは「網羅性 vs 軽さ・速さ」のどちらに寄せるか、です。要件表を埋めてみて、実際に使う機能が必要十分の範囲に収まるなら、軽い方を選ぶのが結局いちばん安上がりになります。


まとめ

  • GrapeCity SPREAD は 高機能・総合型で、Excel 互換性・網羅性・実績・日本語サポートの厚みが強み。要件が「全部入り」なら堅実な選択。
  • ReoGrid は 軽量・高速・大規模データ対応に振った設計。単一 DLL でほぼ依存なしSetRangeData で一括投入が約 3 倍LazyLoadDataSource で 100 万行でも実体化は可視範囲のみ
  • ReoGrid は WinForms / WPF を同一 API で扱え、V3 Community 無償+V4 30 日トライアルで無料から始められ、価格も公開
  • 選び方の軸は「網羅性 vs 軽さ・速さ」。実際に使う機能が必要十分に収まるなら、軽い方が合理的

「Excel のような表」を載せたいだけで総合スイートの全機能は要らない——そう感じたら、まずは ReoGrid を無料で触ってみてください。軽さと速さは、ベンチマークの数字より実際にスクロールした瞬間にいちばんよく分かります。


さらに読む