Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique décrit la classe du Kit de développement logiciel (SDK) Table Open XML et sa relation avec le schéma WordprocessingML des formats de fichiers Open XML Office.
Tableaux dans WordprocessingML
Le texte suivant de la spécification ISO/IEC 29500 présente l’élément de table WordprocessingML Open XML.
Le tableau, un autre type de contenu au niveau du bloc dans WordprocessingML, est un ensemble de paragraphes (et d’autre contenu au niveau du bloc) organisés en lignes et colonnes.
Les tables dans WordprocessingML sont définies via l’élément tbl, qui est analogue à la balise HTML <table> . L’élément tableau spécifie l’emplacement d’un tableau présent dans le document.
Un tbl élément a deux éléments qui définissent ses propriétés : tblPr, qui définit l’ensemble des propriétés à l’échelle du tableau (telles que le style et la largeur), et tblGrid, qui définit la disposition de la grille du tableau. Un tbl élément peut également contenir un nombre arbitraire de lignes différent de zéro, où chaque ligne est spécifiée avec un tr élément. Chaque tr élément peut contenir un nombre arbitraire différent de zéro de cellules, où chaque cellule est spécifiée avec un tc élément.
© ISO/IEC 29500 : 2016
Le tableau suivant répertorie quelques unes des classes Open XML SDK les plus courantes utilisées lors du travail avec les tableaux.
| Élément XML | Classe du Kit de développement logiciel (SDK) Open XML |
|---|---|
| Cellule de contenu | Cellule de contenu |
| gridCol | GridColumn |
| tblGrid | TableGrid |
| tblPr | TableProperties |
| Tc | TableCell |
| tr | TableRow |
Classe de table du Kit de développement logiciel (SDK) Open XML
La classe du Kit de développement logiciel (SDK) Table Open XML représente l’élément <tbl> défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML, comme indiqué ci-dessus. Utilisez un objet Table pour manipuler un tableau individuel dans un document WordprocessingML.
Classe TableProperties
La classe du Kit de développement logiciel (SDK) TableProperties Open XML représente l’élément <tblPr> défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML. L’élément <tblPr> définit des propriétés à l’échelle de la table pour une table. Utilisez un objet TableProperties pour définir les propriétés à l’échelle du tableau d’un tableau dans un document WordprocessingML.
Classe TableGrid
La classe du Kit de développement logiciel (SDK) TableGrid Open XML représente l’élément <tblGrid> défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML. Conjointement avec les éléments enfants des colonnes <gridCol> de grille, l’élément <tblGrid> définit les colonnes d’un tableau et spécifie la largeur par défaut des cellules de tableau dans les colonnes. Utilisez un objet TableGrid pour définir les colonnes d’un tableau dans un document WordprocessingML.
Classe GridColumn
La classe du Kit de développement logiciel (SDK) GridColumn Open XML représente l’élément de colonne <gridCol> grid défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML. L’élément <gridCol> est un élément enfant de l’élément <tblGrid> et définit une colonne unique dans un tableau dans un document WordprocessingML. Utilisez la classe GridColumn pour manipuler une colonne individuelle dans un document WordprocessingML.
Classe TableRow
La classe du Kit de développement logiciel (SDK) TableRow Open XML représente l’élément de ligne <tr> de table défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML. L’élément <tr> définit une ligne dans un tableau dans un document WordprocessingML, à l’image de la <tr> balise en HTML. Une ligne de tableau peut également être mise en forme à l’aide d’un élément de propriétés <trPr> de ligne de tableau. La classe du Kit de développement logiciel (SDK) TableRowProperties Open XML représente l’élément <trPr> .
Classe TableCell
La classe du Kit de développement logiciel (SDK) TableCell Open XML représente l’élément de cellule <tc> de table défini dans le schéma de format de fichier Open XML pour les documents WordprocessingML. L’élément <tc> définit une cellule dans un tableau dans un document WordprocessingML, similaire à la <td> balise en HTML. Une cellule de tableau peut également être mise en forme à l’aide d’un élément de propriétés <tcPr> de cellule de tableau. La classe du Kit de développement logiciel (SDK) TableCellProperties Open XML représente l’élément <tcPr> .
Exemple de code du Kit de développement logiciel (SDK) Open XML
Le code suivant insère un tableau comprenant 1 ligne et 3 colonnes dans un document.
static string InsertTableInDoc(string filepath)
{
// Open a WordprocessingDocument for editing using the filepath.
using (WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(filepath, true))
{
// Assign a reference to the existing document body or add one if necessary.
if (wordprocessingDocument.MainDocumentPart is null)
{
wordprocessingDocument.AddMainDocumentPart();
}
if (wordprocessingDocument.MainDocumentPart!.Document is null)
{
wordprocessingDocument.MainDocumentPart.Document = new Document();
}
if (wordprocessingDocument.MainDocumentPart.Document.Body is null)
{
wordprocessingDocument.MainDocumentPart.Document.Body = new Body();
}
Body body = wordprocessingDocument.MainDocumentPart.Document.Body;
// Create a table.
Table tbl = new Table();
// Set the style and width for the table.
TableProperties tableProp = new TableProperties();
TableStyle tableStyle = new TableStyle() { Val = "TableGrid" };
// Make the table width 100% of the page width.
TableWidth tableWidth = new TableWidth() { Width = "5000", Type = TableWidthUnitValues.Pct };
// Apply
tableProp.Append(tableStyle, tableWidth);
tbl.AppendChild(tableProp);
// Add 3 columns to the table.
TableGrid tg = new TableGrid(new GridColumn(), new GridColumn(), new GridColumn());
tbl.AppendChild(tg);
// Create 1 row to the table.
TableRow tr1 = new TableRow();
// Add a cell to each column in the row.
TableCell tc1 = new TableCell(new Paragraph(new Run(new Text("1"))));
TableCell tc2 = new TableCell(new Paragraph(new Run(new Text("2"))));
TableCell tc3 = new TableCell(new Paragraph(new Run(new Text("3"))));
tr1.Append(tc1, tc2, tc3);
// Add row to the table.
tbl.AppendChild(tr1);
// Add the table to the document
body.AppendChild(tbl);
return tbl.LocalName;
}
}
À l’exécution de ce code, le code XML suivant est écrit dans le document WordprocessingML spécifié dans le code précédent.
<w:tbl>
<w:tblPr>
<w:tblStyle w:val="TableGrid" />
<w:tblW w:w="5000" w:type="pct" />
</w:tblPr>
<w:tblGrid>
<w:gridCol />
<w:gridCol />
<w:gridCol />
</w:tblGrid>
<w:tr>
<w:tc>
<w:p>
<w:r>
<w:t>1</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r>
<w:t>2</w:t>
</w:r>
</w:p>
</w:tc>
<w:tc>
<w:p>
<w:r>
<w:t>3</w:t>
</w:r>
</w:p>
</w:tc>
</w:tr>
</w:tbl>