Shared String Table
ワークシートの項で説明したように、ワークシート内の文字データ(テキスト)はワークシートのパーツには格納されません。テキストデータは、Shared String Tableと呼ばれる文字列データ用のパーツに格納されます。Shared String Tableのファイルは、ワークブックと同じ階層のxlフォルダにsharedStrings.xmlというファイル名で存在します。
先ほどのサンプルを例に見てみましょう。
B列には、それぞれ“あ”、“い”、“う”、“え”、“お”のテキストが挿入されています。このときのワークシートのB列のc要素だけを抜き出してみます。
<c r="B1" t="s">
<v>0</v>
</c>
<c r="B2" t="s">
<v>1</v>
</c>
<c r="B3" t="s">
<v>2</v>
</c>
<c r="B4" t="s">
<v>3</v>
</c>
<c r="B5" t="s">
<v>4</v>
</c>
このように、c要素には、t="s"の属性値によってテキストデータであることが表され、v要素には数値が入っています。t属性値が"s"のとき、v要素の値はShared String Tableのインデックスを表します。
Shared String Table(sharedStrings.xml)には、sst要素をルートとしてShared Itemのsi要素が列挙されています。
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" count="6"
uniqueCount="6">
<si>
<t>あ</t>
<phoneticPr fontId="1"/>
</si>
<si>
<t>い</t>
<phoneticPr fontId="1"/>
</si>
<si>
<t>う</t>
<phoneticPr fontId="1"/>
</si>
<si>
<t>え</t>
<phoneticPr fontId="1"/>
</si>
<si>
<t>お</t>
<phoneticPr fontId="1"/>
</si>
<si>
<t>Sheet1!A1のセル</t>
</si>
</sst>
si要素の子要素tの内容がセルのテキストデータです。phoneticPr要素はテキストの発音情報を記述するための要素です。ISO 29500-1:2016に Phonetic text is used to give hints as to the pronunciation of an East Asian language とあるように、ふりがなのような役割を果たします。