reogrid-json は V5 のネイティブ保存形式です。V4 の RGF(XML)と BinaryFormatter は廃止されました。

Web 版(reogrid-web / ReoGrid Studio)と同じ形式であり、双方向にファイルをやり取りできます。

読み書き

using unvell.ReoGrid.Core.IO;

string json = ReoGridJsonIO.Write(wb, pretty: true);
File.WriteAllText("book.rgjson", json);

Workbook restored = ReoGridJsonIO.Read(File.ReadAllText("book.rgjson"));

pretty: true は人が読める整形を行います。既定は圧縮された 1 行です。

保存されるもの

対象キー
セル値・数式・スタイル参照・数値書式参照・リッチテキストcells
スタイルのテーブル(インターン済み)styles
数値書式のテーブルnumberFormats
定義名definedNames
行・列のサイズ・非表示・スタイルrows / cols
結合merges
罫線borders
アウトラインoutlines
セル型cellTypes
条件付き書式conditionalFormats
オートフィルタfilter

保存されないもの

画像は保存されません。 画像を残す必要がある場合は XLSX をお使いください。

ビューの状態は保存されません。

  • スクロール位置・選択範囲
  • ウィンドウ枠の固定・表示倍率
  • 元に戻す履歴

構造

{
  "format": "reogrid-json",
  "version": 1,
  "styles": [ ... ],
  "numberFormats": [ ... ],
  "definedNames": [ { "name": "...", "scope": null, "address": "Sheet1!A1" } ],
  "workbook": {
    "activeSheet": 0,
    "sheets": [ { "name": "Sheet1", "cells": [ ... ], ... } ]
  }
}

セルは実在するものだけが cells に並びます。空セルは出力されません。

スタイルと数値書式はテーブルに集約され、セル側は添字(s / nf)で参照します。 同じ書式のセルが何万あってもファイルサイズは増えません。

詳細は reogrid-json スキーマ を参照してください。

Web 版との相互運用

同じ形式なので、次のような使い方ができます。

  • デスクトップアプリで作成 → サーバーへ送信 → ブラウザで表示
  • Web で編集 → ダウンロード → デスクトップで開く

未知のキーは黙って無視されます。片方が新しい機能を追加しても、古い実装が読めなくなることはありません。

V4 からの移行

RGF は読み込めません。V4 の資産を V5 へ持ち込む経路は次のとおりです。

V4 で XLSX として保存 → V5 の XlsxReader.Read() で読み込み

次に読む

ページの内容は役に立ちましたか?