.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 V4 | GrapeCity SPREAD(SPREAD.NET) |
|---|---|---|
| 位置づけ | 軽量・高速なスプレッドシートコンポーネント | 高機能・実績豊富な総合型スイート |
| 対応プラットフォーム | WinForms / WPF(.NET 8 + .NET Framework 4.8、同一 API) | WinForms / WPF(ほかに ASP.NET、JavaScript 版などは別製品) |
| 配布形態 | 単一アセンブリ unvell.ReoGrid(外部依存ほぼなし) | 機能が広いぶん複数アセンブリ構成になりやすい |
| 機能の網羅性 | 必要十分(数式・グラフ・条件付き書式・結合・xlsx I/O) | 非常に広い(ピボット・スパークライン・多彩なセル型/関数 等) |
| Excel 互換性 | .xlsx の読み書きと主要関数を網羅 | 互換性の作り込みが厚い |
| 大規模データ | LazyLoadDataSource・SetRangeData・仮想描画で作り込み | 仮想化・大量データ対応あり |
| 無料で始める | 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 で触ってから判断したい」「予算化の前に技術検証だけ進めたい」という、日本の現場でよくある進め方と相性が良い構成です。
価格も料金プランで公開しており(いずれも税込)、見積もりを待たずに概算できます。
| エディション | プラットフォーム | 価格(税込) | 開発端末 | 技術サポート |
|---|---|---|---|---|
| Professional | WinForms | ¥330,000 | 3 台まで | 1 ヶ月 |
| Professional | WPF | ¥385,000 | 3 台まで | 1 ヶ月 |
| Enterprise | WinForms | ¥550,000 | 無制限 | 3 ヶ月 |
| Enterprise | WPF | ¥605,000 | 無制限 | 3 ヶ月 |
端末(開発席)ベースのシンプルなライセンスで、Enterprise は端末数無制限です。「数式評価・条件付き書式・.xlsx 入出力を自前で作る工数」と比べたときのコストで見ると、軽量コンポーネントを 1 本入れて済ませる選択は十分に合理的です。
公平に — SPREAD を選ぶべき場面
ここまで ReoGrid のメリットを挙げてきましたが、SPREAD の方が明確に向いているケースもあります。比較記事として正直に書きます。
- Excel 互換性を極限まで求める — 複雑な
.xlsxをレイアウト・関数・書式まで限りなく忠実に再現したい、Excel ファイルの編集互換が要件、という場合は、長年互換性を磨いてきた SPREAD の作り込みが効きます。 - ピボットテーブル・スパークラインなど高度な機能を標準で使いたい — これらを「設定するだけで使える」状態で揃えたいなら、網羅性で SPREAD が上です。
- 大企業の長期案件で「実績」と「手厚いサポート」を重視する — 導入事例の多さ、日本語の書籍・記事・コミュニティの厚み、専任サポート体制は、SPREAD の長年の蓄積が大きな安心材料になります。調達・稟議で説明しやすいのも実務上のメリットです。
- SpreadJS や ActiveReports など同社の他製品と組み合わせる — 製品ラインをまたいだエコシステムで揃えたい場合は、同一ベンダーで統一できる利点があります。
つまり、「最大限の網羅性と互換性、そして大組織向けの手厚い体制」が要件の中心なら SPREAD。一方で、それらをオーバースペックと感じるなら、ReoGrid の軽さ・速さ・コストが効きます。
どちらを選ぶか — 判断フロー
- 複雑な Excel ファイルを忠実に再現/編集互換が必須? → SPREAD。互換性の作り込みが効く。
- ピボット・スパークラインなど高度機能を標準で多用する? → SPREAD。
- 数式・グラフ・条件付き書式・
.xlsxI/O があれば十分で、とにかく軽く速く配りたい? → ReoGrid。 - 数十万〜100 万行を UI を止めずに表示・編集したい? → ReoGrid(
LazyLoadDataSource+SetRangeData)。 - まず無料で技術検証してから判断したい/コストを抑えたい? → 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 を無料で触ってみてください。軽さと速さは、ベンチマークの数字より実際にスクロールした瞬間にいちばんよく分かります。
さらに読む
- WinForms / WPF アプリで編集可能グリッドを選ぶときの考え方 — DataGridView を卒業するタイミングと選択肢の整理
- WPF で大量データを効率よく表示する — 100 万行を UI を止めずに扱う設計
- 遅延ロードモードによる大規模データの高速読み込み —
LazyLoadDataSource/IDataSourceの実装 - パフォーマンス — 描画パイプラインを軽く保つ仕組み
- ReoGrid 機能紹介 / 料金プラン — エディションと価格
