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