XLSX(OOXML)の機能ごとの対応状況です。凡例は ○ = 対応、△ = 一部、× = 未対応。
セルとデータ
| 機能 | 読み | 書き | 備考 |
|---|
| 数値・文字列・真偽値・エラー | ○ | ○ | |
| 日付(1900 / 1904 方式) | ○ | ○ | どちらの方式のファイルも読める |
| 共有文字列 | ○ | ○ | |
| インライン文字列 | ○ | ○ | |
リッチ文字列(<r>) | ○ | ○ | |
| 数式 | △ | ○ | 読み込み時は再評価せず Excel のキャッシュ値を採用 |
| 共有数式 | × | — | 展開に未対応 |
| 配列数式・動的配列 | × | × | エンジン側が未対応 |
書式
| 機能 | 読み | 書き | 備考 |
|---|
| フォント(名前・サイズ・太字・斜体・下線・取消線) | ○ | ○ | |
| 文字色・背景色 | ○ | ○ | |
| 配置(水平・垂直・折り返し・インデント・回転) | ○ | ○ | |
数値書式(numFmt) | ○ | ○ | 分数・指数は書式エンジン側が未対応 |
| 罫線 | ○ | ○ | |
| スタイルのインターン | ○ | ○ | |
構造
| 機能 | 読み | 書き | 備考 |
|---|
| 結合セル | ○ | ○ | |
| 行高・列幅 | ○ | ○ | |
| 行・列の非表示 | ○ | ○ | |
| アウトライン(グループ化) | ○ | ○ | レベルと折りたたみ状態 |
定義名(<definedNames>) | ○ | ○ | ブック/シートスコープ |
組込名(_xlnm.*) | △ | △ | 印刷範囲(_xlnm.Print_Area)と印刷タイトル(_xlnm.Print_Titles)が PrintSettings として往復。他は未対応 |
| 複数シート | ○ | ○ | |
条件付き書式
| 機能 | 読み | 書き | 備考 |
|---|
cellIs | ○ | ○ | |
expression | ○ | ○ | |
containsText 系 | ○ | △ | CaseSensitive は OOXML で表現不可 |
colorScale(2 色・3 色) | ○ | ○ | |
dataBar | ○ | △ | 負の色・ゼロ軸・枠線は x14 拡張のため未出力 |
iconSet | ○ | ○ | 標準セット全種 |
top10 | ○ | ○ | |
aboveAverage | ○ | ○ | |
duplicateValues / uniqueValues | ○ | ○ | |
priority / stopIfTrue | ○ | ○ | |
<dxfs> | ○ | ○ | |
描画・その他
| 機能 | 読み | 書き | 備考 |
|---|
| 画像(drawing) | ○ | ○ | PNG / JPEG |
ページ設定(<pageSetup>) | ○ | ○ | 用紙・向き・余白・倍率 |
ヘッダー・フッター(<headerFooter>) | ○ | ○ | 左中右 × 奇数/偶数/1 ページ目。装飾コード(&B など)は文字列として保持され、描画はされない |
表示状態(<sheetViews>) | ○ | ○ | ウィンドウ枠の固定・グリッド線/ヘッダーの表示・表示倍率。分割(非固定)ペインは対象外 |
| シートの非表示・タブ色 | ○ | ○ | state="hidden" と <sheetPr><tabColor> |
オートフィルタ(<autoFilter>) | ○ | ○ | 値リスト(<filters>)と条件(<customFilters>)。日付グループツリー・色/アイコン/動的フィルタは対象外。ストリーミング読込では対象外 |
| セルコメント(メモ) | ○ | ○ | comments{n}.xml + VML + <legacyDrawing>。スレッド形式のコメントは対象外 |
データ検証(<dataValidations>) | ○ | ○ | 全 8 種類 × 8 演算子、allowBlank、入力時メッセージとエラー警告 |
シート保護(<sheetProtection>) | ○ | ○ | 許可フラグとセル単位のロック(<protection locked="0"/>) |
| チャート | × | × | V5 に機能がない |
| 図形・テキストボックス | × | × | 同上(画像は対応) |
| ピボットテーブル | × | × | |
ふりがな(<rPh>) | × | × | PHONETIC 関数と連動する課題 |
| マクロ(VBA) | × | × | 対応予定なし |
ReoGrid 固有の機能
XLSX に対応する概念がないため、書き出すと失われます。
| 機能 | 書き出し時 | reogrid-json |
|---|
| セル型(チェックボックスなど) | 通常のセルになる | ○ |
| 交互行スタイル(しま模様) | 失われる | ○ |
| データバーの負の色・ゼロ軸 | 失われる | ○ |
これらを保持したい場合は reogrid-json を使ってください。
実装
読み書きは unvell.ReoGrid.IO.Excel が行い、外部パッケージに依存しません。
読み込みは XmlReader によるストリーミングです。
詳細は XLSX 入出力 を参照してください。