Freigeben über


Struktur eines SpreadsheetML-Dokuments

Die Dokumentstruktur eines SpreadsheetML Dokuments besteht aus dem <workbook/> Element, das und <sheet/> -Elemente enthält<sheets/>, die auf die Arbeitsblätter in der Arbeitsmappe verweisen. Für jedes Arbeitsblatt wird eine separate XML-Datei erstellt. Diese Elemente sind die Mindestvoraussetzung für ein gültiges Tabellenkalkulationsdokument. Darüber hinaus kann ein Tabellenkalkulationsdokument , <chartsheet/>, <pivotTableDefinition/>oder andere tabellenbezogene Elemente enthalten<table/>.

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 Elementen entsprechen SpreadsheetML . 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 <workbook/> 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.

static void CreateSpreadsheetWorkbook(string filepath)
{
    // Create a spreadsheet document by supplying the filepath.
    // By default, AutoSave = true, Editable = true, and Type = xlsx.
    using (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);
    }
}

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