【Office Open XML】stylesパーツ
stylesパーツ
styles.xml
この情報をすべてのセル要素に記載するとファイルサイズが膨大になってしまうため、 stylesパーツを使用してワークブックのセルに適用されているスタイルの情報をまとめる
styleSheet(Style Sheet)要素
この子要素に、塗りつぶしやフォント情報が定義される。
子要素は11種類あるが、以下の4つに分類できる。
- 将来の拡張用の要素
- セル内部のスタイル情報
- セル自身の情報
- セル自身の情報2
セル内部のスタイル情報
ワークブック全体で使用されているフォント情報等が、該当する各要素の子要素として定義されている。
少しわかりづらいのが、colors要素で、これはレガシーやカスタムされた色情報が子要素に定義される。
セル全体として、どれを使用するかは、セル自身の情報,セル自身の情報2の属性で、これらを指定する。
このとき、tableStyles, colorsは直接指定されず、例えばカスタムされた色が塗りつぶしに使用されていれば、これがfillsの子要素に定義される。
セル自身の情報,セル自身の情報2の属性は、numFmts要素以外は、子要素の0ベースのindexが対応する属性の値として指定される。
numFmt要素のみ、numFmtIdを持ち、対応する属性の値として指定される。
セル自身の情報
この3つの要素のうち最も基本となるのが、cellStyleXfs要素で、ワークブックで使用されている名前付きセルスタイルを定義している要素
次に、cellStyles要素が似たような要素で、cellStyleXfs要素からの少しの差を示す。実際にxfId属性で、cellStyleXfs要素の子要素の0ベースのインデックスを指定する
最後に、cellXfs要素で、シートのセル要素が参照する要素はこの要素の子要素で、参照方法は、0ベースのインデックス
セル自身の情報2
条件付き書式設定で使用される要素で、ワークシートのcfRuleのdxfId属性が子要素の0ベースのインデックスで参照する