Comment ajouter une table à DOCX C# | IronWord

How to Add Table to DOCX

This article was translated from English: Does it need improvement?
Translated
View the article in English

A table is a grid of cells arranged in rows and columns. It's used to organize and present information in a structured format. Each intersection of a row and column is a cell, which can contain text, numbers, or other types of data. Tables are commonly used to arrange data neatly, create schedules, or format information in a visually organized manner.

Quickstart: Create and Save a Table with One Call

This example shows how easy it is to spin up a table in IronWord—just construct it with size, set your styles, add content, drop it into a document, and save. You’ll have a DOCX with a styled table in minutes.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord

  2. Copy and run this code snippet.

    var table = new IronWord.Models.Table(3,4);
    var doc = new IronWord.WordDocument();
    doc.AddTable(table);
    doc.SaveAs("QuickTable.docx");
  3. Deploy to test on your live environment

    Start using IronWord in your project today with a free trial
    arrow pointer

Add Table Example

A table is a significant component of a Word document. Firstly, instantiate the Table class by providing the number of rows and columns. From there, the table's styling, such as background color, shading, border, zebra striping, and width, can be customized. Secondly, each cell of the table can be accessed in a very intuitive way by specifying the row and column of the table in [row, column] format. In each cell, text, images, shapes, paragraphs, or even entire tables can be added. Finally, this table can be added to the Word document.

ConseilsAll row and column index positions follow zero-based indexing.

:path=/static-assets/word/content-code-examples/how-to/add-table-add-table.cs
using IronWord;
using IronWord.Models;
using IronWord.Models.Enums;

WordDocument doc = new WordDocument();

// Create table
Table table = new Table(5, 3);

// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = Color.Black;
borderStyle.BorderValue = BorderValues.Thick;
borderStyle.BorderSize = 5;

// Configure table border
TableBorders tableBorders = new TableBorders()
{
    TopBorder = borderStyle,
    RightBorder = borderStyle,
    BottomBorder = borderStyle,
    LeftBorder = borderStyle,
};

// Apply styling
table.Zebra = new ZebraColor("FFFFFF", "dddddd");
table.Borders = tableBorders;

// Populate table
table[0, 0] = new TableCell(new TextContent("Number"));
table[0, 1] = new TableCell(new TextContent("First Name"));
table[0, 2] = new TableCell(new TextContent("Last Name"));
for (int i = 1; i < table.Rows.Count; i++)
{
    table[i, 0].AddChild(new TextContent($"{i}"));
    table[i, 1].AddChild(new TextContent($"---"));
    table[i, 2].AddChild(new TextContent($"---"));
}

// Add table
doc.AddTable(table);

doc.Save("document.docx");
Imports IronWord
Imports IronWord.Models
Imports IronWord.Models.Enums

Private doc As New WordDocument()

' Create table
Private table As New Table(5, 3)

' Configure border style
Private borderStyle As New BorderStyle()
borderStyle.BorderColor = Color.Black
borderStyle.BorderValue = BorderValues.Thick
borderStyle.BorderSize = 5

' Configure table border
Dim tableBorders As New TableBorders() With {
	.TopBorder = borderStyle,
	.RightBorder = borderStyle,
	.BottomBorder = borderStyle,
	.LeftBorder = borderStyle
}

' Apply styling
table.Zebra = New ZebraColor("FFFFFF", "dddddd")
table.Borders = tableBorders

' Populate table
table(0, 0) = New TableCell(New TextContent("Number"))
table(0, 1) = New TableCell(New TextContent("First Name"))
table(0, 2) = New TableCell(New TextContent("Last Name"))
For i As Integer = 1 To table.Rows.Count - 1
	table(i, 0).AddChild(New TextContent($"{i}"))
	table(i, 1).AddChild(New TextContent($"---"))
	table(i, 2).AddChild(New TextContent($"---"))
Next i

' Add table
doc.AddTable(table)

doc.Save("document.docx")
$vbLabelText   $csharpLabel
Add table

The AddChild method of the TableCell class accepts a ContentElement object, which includes everything from paragraphs, images, and shapes to the table itself. In this case, you can have nested tables, providing a very useful illustration for certain use cases.

Available Stylings

Borders

Explore all the available options for border values that can be set using the BorderValues enum:

Border values

Questions Fréquemment Posées

Comment puis-je ajouter une table à un document Word en utilisant C#?

Vous pouvez ajouter une table à un document Word en utilisant IronWord en téléchargeant la bibliothèque C#, en remplissant les cellules avec du contenu, les assemblant en rangées, et en créant une table en ajoutant ces rangées. Une fois la structure de la table définie, initialisez-la dans un nouveau document Word et exportez le document.

Quelles options de style sont disponibles pour les tables dans IronWord?

IronWord vous permet de personnaliser les tables avec diverses options de style telles que la couleur de fond, l'ombrage, les bordures, les rayures et la largeur.

Comment ajouter du contenu à une cellule spécifique dans une table en C#?

Dans IronWord, vous pouvez utiliser la méthode AddChild de la classe TableCell pour ajouter du contenu tel que du texte, des images, des formes, ou même des tables entières à une cellule spécifique.

Puis-je imbriquer des tables dans d'autres tables par programme en utilisant IronWord?

Oui, IronWord vous permet d'imbriquer des tables dans d'autres tables, ce qui peut être particulièrement utile pour les mises en page de documents complexes.

Quel est le format d'indexation pour accéder aux cellules de table dans IronWord?

IronWord utilise l'indexation à base zéro pour accéder aux cellules de table, spécifiée dans un format [ligne, colonne].

Comment définir les styles de bordure pour les tables dans un document Word en utilisant C#?

Vous pouvez définir les styles de bordure pour les tables dans IronWord en utilisant l'énum BorderValues, qui offre diverses options pour personnaliser les bordures de table.

Quelle méthode est utilisée pour enregistrer un document Word après avoir ajouté une table avec IronWord?

Après avoir ajouté une table à un document Word en utilisant IronWord, vous pouvez enregistrer le document en utilisant la méthode Save avec le nom de fichier souhaité, tel que document.Save('ExampleTable.docx').

Quels types de contenu peuvent être ajoutés à une cellule de table dans IronWord?

Dans IronWord, vous pouvez ajouter divers types de contenu à une cellule de table, y compris du texte, des images, des formes, des paragraphes, et même des tables imbriquées.

Comment initialiser une table dans IronWord?

Pour initialiser une table dans IronWord, instanciez la classe Table en fournissant le nombre de rangées et de colonnes. Par exemple, var table = new Table(3, 3) crée une table 3x3.

Quel est le processus pour exporter un document Word avec une table en utilisant C#?

Pour exporter un document Word avec une table en utilisant IronWord, commencez par créer et styliser la table, initialisez-la dans le document Word, puis utilisez la méthode Save pour exporter le document en tant que fichier .docx.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 25,807 | Version : 2025.11 vient de sortir