Package Structure
A SpreadsheetML package shall contain a package-relationship item and a content-type item. The package-relationship item shall contain implicit relationships with targets of the following type:
One Workbook part (12.3.23).
The package-relationship item is permitted to contain implicit relationships with targets of the following type:
Digital Signature Origin (§15.2.6)
File Property parts (§15.2.11) (Application-Defined File Properties, Core File Properties, and Custom File Properties), as appropriate.
Thumbnail (§15.2.14).
The required and optional relationships between parts are defined in §12.3 and its subordinate clauses.
First, the content types for relationship parts, the Workbook part, and at least one Sheet part must be defined (physically located at /[Content_Types].xml in the package):
<Types xmlns="…"> <Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /> <Override PartName="/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument. spreadsheetml.sheet.main+xml" /> <Override PartName="/sheet1.xml" ContentType="application/vnd.openxmlformats- officedocument.spreadsheetml.worksheet+xml" /> </Types>
Next, the required package-level relationship to the Workbook part must be defined (physically located at /_rels/.rels in the package):
<Relationships xmlns="…"> <Relationship Id="rId1" Type=http://schemas.openxmlformats.org/officeDocument/2006/ relationships/officeDocument" Target="workbook.xml" /> </Relationships>
Next, the minimum content for the Workbook part must be defined (physically located at /workbook.xml in the package):
<workbook xmlns="…" xmlns:r="…"> <sheets> <sheet name="1" sheetId="1" r:id="rId1" /> </sheets> </workbook>
Next, the required workbook-level relationship to the single Sheet part must be defined, (physically located at /_rels/workbook.xml.rels in the package):
<Relationships xmlns="…"> <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/ relationships/worksheet" Target="sheet1.xml" /> </Relationships>
Finally, the minimum content for a single Sheet part must be defined (physically located at /sheet1.xml in the package):
<worksheet xmlns="…" xmlns:r="…"> <sheetData /> </worksheet>
/_rels/.rels Package-relationship item /[Content_Types].xml Content-type item /docProps/app.xml Application-Defined File Properties part /docProps/core.xml Core File Properties part /xl/workbook.xml Workbook part /xl/_rels/workbook.xml.rels Part-relationship item /xl/calcChain.xml Calculation Chain part /xl/sharedStrings.xml Shared String Table part /xl/styles.xml Styles part /xl/volatileDependencies.xml Volatile Dependencies part /xl/theme/theme1.xml Theme part /xl/worksheets/sheet1.xml Worksheet parts /xl/worksheets/sheet2.xml /xl/worksheets/sheet3.xml
The package-relationship item contains the following:
<Relationships xmlns="…"> <Relationship Id="rId3" Type="http://…/extended-properties" Target="docProps/app.xml"/> <Relationship Id="rId2" Type="http://…/core-properties" Target="docProps/core.xml"/> <Relationship Id="rId1" Type="http://…/officeDocument" Target="xl/workbook.xml"/> </Relationships>