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