第4章 SpreadsheetML

Workbook

workbook.xmlの中は非常に単純で、主な情報はワークブックを構成するワークシートの列挙です。

勘定元帳-仕入帳1.xlsxのワークブック(workbook.xml)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<workbook xmlns="http://schemas.microsoft.com/office/spreadsheetml/main"
    xmlns:r="http://schemas.microsoft.com/office/relationships"
    ...>
    <fileVersion appName="xl" lastEdited="7" lowestEdited="4" rupBuild="24228"/>
    <workbookPr dateCompatibility="0" defaultThemeVersion="124226"/>
    ...
    <bookViews>
        <workbookView xWindow="3765" yWindow="3195" windowWidth="20550" windowHeight="11715" .../>
    </bookViews>
    <sheets>
        <sheet name="勘定元帳(仕入帳)" sheetId="7" r:id="rId1"/>
        <sheet name="摘要一覧" sheetId="4" r:id="rId2"/>
        <sheet name="使い方" sheetId="9" r:id="rId3"/>
    </sheets>
    <calcPr calcId="191029"/>
    ...
</workbook>

sheets要素の中に列挙されたsheet要素(Sheet Information)に記述されるのがワークシートの情報です。

必須の情報として、ユーザーに表示されるシート名を表すname属性、関連付けを参照するためのid(rId)属性、アプリケーションで内部的に使用されるsheetId属性(Sheet Tab ID)があります。r:Id属性の値は関連付けによってワークシートを参照するためのIDであり、sheetIdはSpreadsheetMLアプリケーション内での操作に利用されるIDです。

オプションの属性として、ワークシートの表示、非表示を設定するstate属性(Visible State)があります。無指定のときは表示(visible)が指定されているのと同等です。

sheet要素の関連付けIDと関連付けファイルによってワークシートのファイルが判別されます。ワークブックの関連付け(workbook.xml.rels)には、次のようにrIdとワークシートファイルのURIが記述されています。

ワークブックの関連付けの例
<Relationship Id="rId3"
 Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
 Target="worksheets/sheet3.xml"/>
  <Relationship Id="rId2"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
   Target="worksheets/sheet2.xml"/>
  <Relationship Id="rId1"
   Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
   Target="worksheets/sheet1.xml"/>

同じ関連付けIDの値を持つRelationship要素のTarget属性の値がワークシートファイルのURIになります。