第4章 SpreadsheetML

基本構造

Excelを開くと、ワークブックを親として、その下に複数のワークシートが連なるというデータ構造になっています。Excelで作成したxlsxファイルの内容を調べてみると、xlフォルダ下の文書パーツはこの構造に基づき、workbook.xmlという親があり、ワークシートのデータはworksheetsフォルダにsheet1.xml、sheet2.xml、sheet3.xml……というように保存されています。さらに、データに関連するさまざまなパーツが存在します。

これらExcelパッケージのためのXML仕様はSpreadsheetMLという名前で定義されています。

「勘定元帳-仕入帳1.xlsx」というファイルをExcelで開いた様子を次に示します。「勘定元帳(仕入帳)」「摘要一覧」、「使い方」という名前の3つのワークシートがあります。

Excel上でのワークブックとワークシート
Excel上でのワークブックとワークシート

このExcelパッケージのxlフォルダには、まずワークブックパーツであるworkbook.xmlがあります。

xl/workbookフォルダ
xl/workbookフォルダ

さらに、このSpreadsheetML文書のxl/worksheetsフォルダには、ワークシートのパーツが3つ保存されています。

workbook/worksheetsフォルダ
workbook/worksheetsフォルダ

ワークブックではこれらのワークシートの情報が列挙されており、関連付けファイルを通して結び付けられます。実際のデータはワークシートとして、worksheetsフォルダに保存されます。

名前空間

SpreadsheetMLのメインパーツの名前空間は次の通りです。

Strict
http://purl.oclc.org/ooxml/spreadsheetml/main
Transitional
http://schemas.openxmlformats.org/officeDocument/2006/spreadsheetml/main