Partager via


Structure d’un document SpreadsheetML

La structure d’un document SpreadsheetML est constituée de l’élément <workbook> qui contient des éléments <sheets> et <sheet> qui référencent les feuilles de calcul d’un classeur. Un fichier XML distinct est créé pour chaque feuille de calcul. Ces éléments sont les éléments minimaux requis pour un document de tableur valide. De plus, un document de tableur peut contenir des éléments <table>, <chartsheet>, <pivotTableDefinition> ou d’autres éléments associés à une feuille de calcul.

Remarque

Vous voulez développer des solutions qui étendent l’expérience Office sur plusieurs plateformes ? Découvrez le nouveau modèle de compléments Office. Les compléments Office ont un encombrement réduit par rapport aux compléments et solutions VSTO. Vous pouvez les créer à l’aide de pratiquement n’importe quelle technologie de programmation web, telle que HTML5, JavaScript, CSS3 et XML.


Composants importants de feuille de calcul

À l’aide du Kit de développement logiciel (SDK) Open XML pour Office, vous pouvez créer une structure de document et du contenu qui utilisent des classes fortement typées qui correspondent à des éléments SpreadsheetML . Ces classes se trouvent dans l'espace de noms DocumentFormat.OpenXML.Spreadsheet. Le tableau suivant répertorie les noms des classes qui correspondent à quelques éléments de feuille de calcul importants.

Composant du package Élément SpreadsheetML de niveau supérieur Classe du Kit de développement logiciel (SDK) Open XML Description
Classeur workbook Workbook Élément racine de la partie principale du document.
Feuille de calcul feuille de calcul Worksheet Type de feuille qui représente une grille de cellules contenant du texte, des nombres, des dates ou des formules. Pour plus d’informations, consultez Utilisation des feuilles.
Feuille de graphique chartsheet Chartsheet Feuille qui représente un graphique stocké sur sa propre feuille. Pour plus d’informations, consultez Utilisation des feuilles.
Tableau table Table Construction logique qui spécifie qu'une plage de données appartient à un même ensemble de données. Pour plus d’informations, consultez Utilisation des tables SpreadsheetML.
Tableau croisé dynamique pivotTableDefinition PivotTableDefinition Construction logique qui affiche des données agrégées et organisées de façon compréhensible. Pour plus d’informations, voir Working with PivotTables.
Cache de tableau croisé dynamique pivotCacheDefinition PivotCacheDefinition Construction qui définit la source de données du tableau croisé dynamique. Pour plus d’informations, voir Working with PivotTables.
Enregistrements du cache de tableau croisé dynamique pivotCacheRecords PivotCacheRecords Cache des données source du tableau croisé dynamique. Pour plus d’informations, voir Working with PivotTables.
Chaîne de calcul calcChain CalculationChain Construction qui spécifie l'ordre dans lequel les cellules du classeur ont été calculées la dernière fois. Pour plus d’informations, consultez Utilisation de la chaîne de calcul.
Tableau de chaînes partagé sst SharedStringTable Construction qui contient une occurrence de chaque chaîne unique apparaissant sur l'ensemble des feuilles de calcul d'un classeur. Pour plus d’informations, consultez Utilisation de la table de chaînes partagée.
Mise en forme conditionnelle conditionalFormatting ConditionalFormatting Construction qui définit un format appliqué à une cellule ou à une série de cellules. Pour plus d’informations, consultez Utilisation de la mise en forme conditionnelle.
Formules f CellFormula Construction qui définit le texte de la formule pour une cellule contenant une formule. Pour plus d’informations, consultez Utilisation des formules.

Scénario de classeur minimum

Le texte suivant issu de la Norme ECMA-376 introduit le scénario de classeur minimum.

Le classeur le plus petit possible (vierge) doit contenir les éléments suivants :

Une seule feuille

Un ID de feuille

Un ID de relation qui pointe vers l'emplacement de la définition de la feuille

© Ecma International : décembre 2006.

Exemple de code Open XML SDK

Cet exemple de code utilise les classes du Kit de développement logiciel (SDK) Open XML pour créer un classeur vide au minimum.

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();
}

Scénario de classeur standard

Un classeur standard est différent d'un classeur minimum. Un classeur standard peut contenir des nombres, du texte, des graphiques, des tables et des tableaux croisés dynamiques. Chacun de ces composants supplémentaires est contenu dans le package .zip du document de traitement de tableur.

La figure suivante montre la plupart des éléments qui peuvent figurer dans un classeur standard.

Figure 2. Éléments de classeur standard

Structure d’un document SpreadsheetML