Freigeben über


Struktur eines SpreadsheetML-Dokuments

Die Struktur eines SpreadsheetML-Dokuments besteht aus dem <workbook>-Element, das die <sheets>- und <sheet>-Elemente enthält, die auf die Arbeitsblätter in der Arbeitsmappe verweisen. Es wird eine separate XML-Datei für jedes Arbeitsblatt erstellt. Diese Elemente sind die erforderlichen Mindestelemente für ein gültiges Tabellenkalkulationsdokument. Darüber hinaus enthält ein Tabellenkalkulationsdokument möglicherweise <table>-, <chartsheet>-, <pivotTableDefinition>- oder andere mit Tabellenkalkulationen in Verbindung stehende Elemente.

Hinweis

Haben Sie Interesse an der Entwicklung von Lösungen, mit denen die Funktionen von Office über mehrere Plattformen erweitert werden können? Schauen Sie sich das neue Office-Add-In-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf. Sie können sie mit fast jeder Web-Programmiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.


Wichtige Teile einer Tabellenkalkulation

Mit dem Open XML SDK für Office können Sie Dokumentstrukturen und Inhalte erstellen, die stark typisierte Klassen verwenden, die SpreadsheetML-Elementen entsprechen. Sie finden diese Klassen im DocumentFormat.OpenXML.Spreadsheet-Namespace. In der folgenden Tabelle werden die Klassennamen der Klassen aufgeführt, die einigen wichtigen Tabellenkalkulationselementen entsprechen.

Paketteil SpreadsheetML-Element der obersten Ebene Open XML SDK-Klasse Beschreibung
Arbeitsmappe Arbeitsmappe Workbook Das Stammelement des Hauptdokumentteils.
Arbeitsblatt worksheet Worksheet Ein Blatttyp, der ein Zellenraster darstellt, das Text, Zahlen, Datumsangaben und Formeln enthält. Weitere Informationen finden Sie unter Arbeiten mit Blättern.
Diagrammblatt chartsheet Chartsheet Ein Blatt, das ein Diagramm darstellt, das als eigenes Blatt gespeichert wird. Weitere Informationen finden Sie unter Arbeiten mit Blättern.
Tabelle table Table Ein logisches Konstrukt, das angibt, dass ein Datenbereich zu einem einzelnen DataSet gehört. Weitere Informationen finden Sie unter Arbeiten mit SpreadsheetML-Tabellen.
PivotTable pivotTableDefinition PivotTableDefinition Ein logisches Konstrukt, das eine zusammengesetzte Ansicht von Daten in einem verständlichen Layout anzeigt. Weitere Informationen finden Sie unter Working with PivotTables.
PivotCache pivotCacheDefinition PivotCacheDefinition Ein Konstrukt, das die Quelle der Daten in der PivotTable definiert. Weitere Informationen finden Sie unter Working with PivotTables.
PivotCache-Datensätze pivotCacheRecords PivotCacheRecords Ein Cache der Quelldaten der PivotTable. Weitere Informationen finden Sie unter Working with PivotTables.
Berechnungskette calcChain CalculationChain Ein Konstrukt, das die Reihenfolge angibt, in der Zellen in der Arbeitsmappe zuletzt berechnet wurden. Weitere Informationen finden Sie unter Arbeiten mit der Berechnungskette.
Freigegebene Zeichenfolgentabelle sst SharedStringTable Ein Konstrukt, das ein Vorkommen jeder eindeutigen Zeichenfolge enthält, die in allen Arbeitsblättern einer Arbeitsmappe vorkommt. Weitere Informationen finden Sie unter Arbeiten mit der freigegebenen Zeichenfolgentabelle.
Bedingte Formatierung conditionalFormatting ConditionalFormatting Ein Konstrukt, das ein Format definiert, das auf eine Zelle oder eine Reihe von Zellen angewendet wird. Weitere Informationen finden Sie unter Arbeiten mit bedingter Formatierung.
Formeln f CellFormula Ein Konstrukt, das den Formeltext für eine Zelle definiert, die eine Formel enthält. Weitere Informationen finden Sie unter Arbeiten mit Formeln.

Szenario mit der minimalen Arbeitsmappe

In dem folgenden Text aus Standard ECMA-376 wird das Szenario mit der minimalen Arbeitsmappe eingeführt.

Die kleinste mögliche (leere) Arbeitsmappe muss Folgendes enthalten:

Ein einzelnes Arbeitsblatt

Eine Blatt-ID

Eine Beziehungs-ID, die auf den Speicherort der Blattdefinition verweist

© Ecma International: Dezember 2006.

Open XML SDK-Codebeispiel

In diesem Codebeispiel werden die Klassen im Open XML SDK verwendet, um eine minimale, leere Arbeitsmappe zu erstellen.

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;

CreateSpreadsheetWorkbook(args[0]);

static void CreateSpreadsheetWorkbook(string filepath)
{
    // Create a spreadsheet document by supplying the filepath.
    // By default, AutoSave = true, Editable = true, and Type = xlsx.
    SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);

    // Add a WorkbookPart to the document.
    WorkbookPart workbookPart = spreadsheetDocument.AddWorkbookPart();
    workbookPart.Workbook = new Workbook();

    // Add a WorksheetPart to the WorkbookPart.
    WorksheetPart worksheetPart = workbookPart.AddNewPart<WorksheetPart>();
    worksheetPart.Worksheet = new Worksheet(new SheetData());

    // Add Sheets to the Workbook.
    Sheets sheets = workbookPart.Workbook.AppendChild(new Sheets());

    // Append a new worksheet and associate it with the workbook.
    Sheet sheet = new Sheet() { Id = workbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "mySheet" };
    sheets.Append(sheet);

    workbookPart.Workbook.Save();

    // Dispose the document.
    spreadsheetDocument.Dispose();
}

Szenario mit typischer Arbeitsmappe

Eine typische Arbeitsmappe ist keine leere Mindestarbeitsmappe. Eine typische Arbeitsmappe kann Zahlen, Text, Diagramme, Tabellen und PivotTables enthalten. Jeder dieser zusätzlichen Teile ist im ZIP-Paket des Tabellenkalkulationsdokuments enthalten.

In der folgenden Abbildung wird ein Großteil der Elemente dargestellt, die Sie in einer typischen Tabellenkalkulation finden.

Abbildung 2: Typische Tabellenelemente

Struktur eines SpreadsheetML-Dokuments