2026年8月25日
UNVELL株式会社は、.NET向けスプレッドシートコンポーネント「ReoGrid」の新世代バージョン V5 を2026年8月25日にリリースしました。
V5 は、既存V4の延長・改良版ではなく、コアから再設計された次世代版です。「完全仮想化」を後付けの最適化ではなく設計の一行目に置き、データ構造からレンダラまでを作り直しました。100万行規模のデータを、そのまま普通のデータとして扱えるようにすることを目標としています。
■ 100万行を抱えても、最初の1画面は1ミリ秒未満
処理量を決めるのは、データ量ではなく、いま見えている範囲だけです。画面1枚ぶんのセルを読み出すのにかかるのは数十マイクロ秒、そのとき新たに確保するメモリは0バイト。60fps を保つための1フレーム16.7ミリ秒のうち、読み取りが使うのは0.1%未満です。10行のシートも100万行のシートも、手元の体感は同じままです。
■ なぜ速いのか ① 省メモリ設計で、メモリ管理のコストを極限まで下げた
速さの土台は、運ぶ荷物を軽くすることにあります。V5 は「行チャンク×列指向+適応型ブロック」構造を採用し、セル値を16バイトの値型として密に格納、スタイルと文字列は共有(インターン)します。値の入っているセルの分だけを持つため、1,000万セルを積んでも約155MB。同一マシン・同一ランタイムで従来設計(V4)を実際に動かして比較したところ、同じ1,000万セルの保持は V5 が16.4バイト/セル(156MB)、従来設計が298.2バイト/セル(2.78GB)で、約18分の1のメモリに収まることを実測で確認しました。100万行×20列(2,000万セル)では、従来設計の5.54GBに対し V5 は312MBです。
■ なぜ速いのか ② シートのサイズではなく、可視領域だけが処理対象
スクロール中に出るゴミが0バイトのため、ガベージコレクションは静かなままです。スクロールバーを端まで放り投げるように動かしても、指の動きにそのまま追従します。行数を10行から100万行に増やしても、1フレームあたりの仕事量は同じです。
■ なぜ速いのか ③ 細部まで、同じ原則で貫いた
条件付き書式の評価は可視セルのみ、100万行のチェックボックス列はエントリ1件、100万行の縞模様はオブジェクト1個、行・列全体への書式変更はセル数ではなく行数に比例、検索は値の入っているセルだけをチャンク単位で走査、XLSX はストリーミング読み込み。シート全体を走査しうる処理を一つずつ設計し直しました。全部が揃って初めて「100万行を普通に扱える」という体験になります。
■ 他のライブラリとの比較
同一マシン・同一ランタイム・同一の入力ファイルで、主要なオープンソースの .NET スプレッドシートライブラリと並べて計測しました。20万行×10列のxlsxの読み込みで V5 は1.9秒・保持メモリ129MB。セルモデルを保持するライブラリの中では、読み込み時間・保持メモリともに最小です(NPOI 4.3秒/631MB、ClosedXML 3.6秒/165MB、EPPlus 4.5 1.8秒/168MB、NanoXLSX 11.8秒/281MB)。読み込み後のランダムセルアクセスも V5 が0.3マイクロ秒/回で最速でした。計測環境は AMD Ryzen 9 9900X / Windows 11 / .NET 10.0.10 / Workstation GC、3回計測の中央値です。なお、商用グリッド製品との比較は、各社の利用許諾がベンチマーク結果の公表を禁じているのが通例のため掲載していません。
■ 機能と完成度
約85関数の数式エンジン(クロスシート参照・定義名対応)、Excel書式コード準拠の数値書式、OOXML準拠の条件付き書式フルセット(アイコンセット含む)、Undo/Redo、複数キーソート、オートフィルタ、データの入力規則、シート保護、セルのメモ、印刷タイトルとヘッダー/フッターに対応。入出力は XLSX・PDF(日本語フォント埋め込み、出力後も検索・コピー可能)・JSON・CSV をいずれも依存ライブラリゼロで提供します。コアには940件の自動テストが付随します。
■ 対応プラットフォームとライセンス
WinForms / WPF / Avalonia の3プラットフォームに対応し、Avalonia 版では Windows・macOS・Linux で同一コードが動作します。UI非依存のヘッドレス版も提供。1パッケージ=1DLL、NuGet依存ゼロで導入できます(対応ランタイムは .NET 10 以降)。ライセンスは買い切りの永続ライセンス+任意の年間更新で、バージョン・プラットフォームを問わず1本でカバーします。年間更新の状態にかかわらず、お手元のバイナリは永久に動作します。
■ V4 をご利用中のお客様へ
V5 は API 互換性を持たない全面書き直しのため、V4 の販売と保守はこれまでどおり継続します。V4 と V5 は別の NuGet パッケージ ID で配信するため、バージョンを上げても既存プロジェクトのビルドはそのまま通ります。契約は1本のままで、同じライセンスで V4 も V5 もご利用いただけます。
詳細は記事「ReoGrid V5 リリース — 完全仮想化を設計の一行目に。100万行が『普通のデータ』になる」をご覧ください。