RGF フォーマット

RGF フォーマットは ReoGrid のオリジナルファイルフォーマットです。軽量でシングルワークシートの内容を手軽に保存・読み込みするように設計されています。 RGF は ReoGrid Editor によって作成、編集できます。Editor で帳票やUIを設計し、RGF として保存します。アプリケーションで ReoGrid を用いてその RGF を読み込んで画面に表示することで、手軽に帳票やUIを設計できます。

RGF フォーマットはワークシートのセルデータ、セルスタイル、罫線、計算式、アウトライン、命名範囲、セル型などを保存することができます。 RGF の中身は XML フォーマットです。

スナップショット

RGF ファイルの内容(抜粋)は以下の通りです。

<?xml version="1.0"?>
<grid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <head>
    <meta>
      <culture>en-US</culture>
      <editor>ReoGrid Core </editor>
      <core-ver>0.8.9.2</core-ver>
    </meta>
    <print-settings>
      <paper-size>A4</paper-size>
      ...
    </print-settings>
  </head>
  <style color="#000000" font="Arial" font-size="9.75" bold="true" align="left" valign="middle" />
  <rows>
    <row row="0" height="11" auto-height="false" />
    ...
  </rows>
  <cols>
    <col col="0" width="10" auto-width="false" />
    ...
  </cols>
  <v-borders>
    <v-border row="23" col="3" color="#000000" style="Solid" pos="left" rows="8" />
    ...
  </v-borders>
  <h-borders>
    <h-border row="3" col="1" color="#000000" style="BoldSolid" pos="top" cols="14" />
    ...
  </h-borders>
  <cells>
    <cell row="1" col="1" colspan="14" format="text">Project Cost Summary
      <style bgcolor="#00007d" color="#ffffff" font-size="20.25" align="center" />
    </cell>
    ...
  </cells>
</grid>

XML 構造

grid 要素

grid 要素はフォーマットのルート要素です。

<grid>
  ...
</grid>

head 要素

head 要素はワークシートの基本情報、設定、例えば行列の数、シート全般の設定、印刷設定などを含んでいます。

meta 要素

meta 要素はワークシートの基本情報を含んでいます。

<meta>
  <culture>en-US</culture>
  <editor>ReoGrid Core</editor>
  <core-ver>0.8.9.2</core-ver>
</meta>

rows and cols 要素

rows と cols 要素はワークシートの行数と列数です。

<rows>100</rows>
<cols>50</cols>

print-settings 要素は印刷設定を保存します。

<print-settings>
  <page-break-rows>0,42</page-break-rows>
  <page-break-cols>1,15</page-break-cols>
  <scale-factor>0.8637016</scale-factor>
  <paper-size>A4</paper-size>
  <landscape>true</landscape>
  <page-order>down-over</page-order>
</print-settings>

settings 要素

settings 要素はワークシートの設定を保存します。

<settings meta="2087944062">
  <show-page-break>true</show-page-break>
</settings>

style 要素

style 要素はセルのスタイル設定です。grid 要素の配下にある場合シート全体のデフォルトスタイルを表します。

<style color="#000000" font="Arial" font-size="9.75" bold="true" align="left" valign="middle" />

row 要素

row 要素は行の設定です。row 要素は該当行の設定がデフォルトの行設定と異なる場合のみ利用されます。

<row row="0" height="11" auto-height="false" />

column 要素

column 要素は列の設定です。column 要素は該当列の設定がデフォルトの列設定と異なる場合のみ利用されます。

<col col="0" width="10" auto-width="false" />

h-border と v-border 要素

h-border と v-border 要素はそれぞれ水平罫線と垂直罫線です。

<v-border row="24" col="4" color="#000000" style="Dotted" pos="all" rows="7" />

cell 要素

Cell 要素はセルの内容を保存します。cell 要素は style 要素を含むことができます。

<cell row="1" col="1" colspan="14" format="text">
  <style bgcolor="#00007d" color="#ffffff" font-size="20.25" align="center" />
  Project Cost Summary
</cell>

読み込みと保存

RGF は単一のワークシートのみに対応します。複数のワークシートの読み込みと保存には、複数の RGF ファイルの利用が必要です。

単一ワークシートの読み込みと保存

ワークシートの SaveRGF メソッドを利用するとそのワークシートを RGF ファイルに出力できます。

worksheet.SaveRGF(出力先パスまたはストリーム);

RGF ファイルからワークシートの内容を読み込むには、LoadRGF メソッドを利用します。

worksheet.LoadRGF(入力先パスまたはストリーム);

複数のワークシートの読み込みと保存

複数のRGFファイルを利用して複数のワークシートを読み込むまたは保存する例は以下の通りです。

複数のワークシートの読み込み

foreach(var sheetName in savingList)
{
  // create worksheet instance by given name
  var worksheet = reoGridControl.CreateWorksheet(sheetName);

  // load worksheet from stream
  worksheet.LoadRGF(string.Format("C:\\MyPath\\{0}.rgf", sheetName));
}

複数のワークシートの保存

var savingList = new List<string>();

foreach (var worksheet in reoGridControl.Worksheets)
{
  if (_ShouldSaveThisWorksheet_(worksheet) == true)
  {
    // save
    worksheet.SaveRGF(string.Format("C:\\MyPath\\{0}.rgf", worksheet.Name));

    // add worksheet name into saving list
    savingList.Add(worksheet.Name);
  }
}

様々な入出力先

出力先がストリームのソースコード例

using(var ms = new MemoryStream())
{
  // save
  worksheet.SaveRGF(ms);
  // load
  worksheet.LoadRGF(ms);
}

出力先がファイルのソースコード例

// save
worksheet.SaveRGF("C:\\MyPath\\MyFile.rgf");
// load
worksheet.LoadRGF("C:\\MyPath\\MyFile.rgf");

出力先がバイト配列のソースコード例

byte[] buf = null;

// save
using (var ms = new MemoryStream())
{
  worksheet.SaveRGF(ms);
  buf = ms.ToArray();
}

// load
using (var ms = new MemoryStream(buf))
{
  worksheet.LoadRGF(ms);
}

出力先が文字列のソースコード例

string content = null;

// save
using (var ms = new System.IO.MemoryStream())
{
  sheet.SaveRGF(ms);
  content = Encoding.Default.GetString(ms.ToArray());
}

// load
using (var ms = new System.IO.MemoryStream(Encoding.Default.GetBytes(content)))
{
  sheet.LoadRGF(ms);
}

ReoGridEditorでの編集

ReoGridEditor は ReoGrid のスプレッドシート用のテンプレートファイルを作成するためのエディタです。ReoGridEditor は Excelフォーマット、RGFフォーマットに対応しています。ReoGridEditor を利用すると作成したワークシートのテンプレートを RGF ファイルとして保存することができます。詳しくは、「ReoGridエディタ」をご覧ください。

ja88

RGF 利用の注意事項

RGF フォーマットは単一のワークシートに対応します。マルチワークシートに関する機能、例えば他のシートへ参照する命名範囲の利用ができなくなります。テンプレートを複数のワークシートで構成する場合、Excel フォーマットの利用をご検討ください。Excelフォーマットについて詳しくは、「Excel フォーマット」をご覧ください。

Excel ファイルとの違い

RGF フォーマットは ReoGrid 特有の機能に最適化したフォーマットです。Excel フォーマットに比べ、それぞれ違った特徴と最適な利用ケースがあります。詳しくは、「Excel と RGF フォーマットの比較」をご覧ください。


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