Comment ajouter une table à DOCX C# | IronWord

Comment ajouter un tableau à DOCX en utilisant C# ; avec IronWord

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

IronWord permet aux développeurs d'ajouter par programmation des tableaux aux documents Word en C# en créant des objets Table avec des lignes et des colonnes spécifiées, en les stylisant avec des bordures et des couleurs, et en remplissant les cellules avec du contenu avant de les enregistrer en tant que fichiers DOCX.

<TODO : Ajouter une image ici -->

<Description : Diagramme ou capture d'écran illustrant le concept de code -->

Démarrage rapide : Créer et enregistrer une table en un seul appel

Cet exemple montre comment créer un tableau dans IronWord. Construisez le tableau avec des dimensions, appliquez des styles, ajoutez du contenu, insérez-le dans un document et enregistrez. Vous pouvez générer un fichier DOCX avec un tableau stylisé en quelques minutes.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronWord avec le gestionnaire de packages NuGet

    PM > Install-Package IronWord

  2. Copiez et exécutez cet extrait de code.

    var table = new IronWord.Models.Table(3,4);
    var doc = new IronWord.WordDocument();
    doc.AddTable(table);
    doc.SaveAs("QuickTable.docx");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronWord dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment ajouter un tableau à mon document Word?

Un tableau est un élément fondamental des documents Word. Tout d'abord, instanciez la classe Table en indiquant le nombre de lignes et de colonnes. Configurez le style du tableau, y compris la couleur d'arrière-plan, l'ombrage, la bordure, la bande zébrée et la largeur. Deuxièmement, accédez à chaque cellule à l'aide de l'indexation intuitive [ligne, colonne]. Ajoutez du texte, des images, des formes, des paragraphes ou même des tableaux à chaque cellule. Enfin, ajoutez le tableau au document Word.

Les tableaux d'IronWord constituent une base flexible pour l'organisation de données structurées dans les documents Word. Qu'il s'agisse de créer des factures, des rapports ou des résumés de données, la classe Table offre un contrôle complet sur le contenu et la présentation. Le système d'indexation à base zéro simplifie l'itération programmatique des cellules, tandis que les riches options de style garantissent une apparence professionnelle.

ConseilsToutes les positions d'index de ligne et de colonne suivent un indexage à partir de zéro.

: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
Document Word montrant un tableau 4x3 vide avec des colonnes Numéro, Prénom, Nom et des lignes ombrées en alternance

La méthode AddChild de la classe TableCell accepte un objet ContentElement, qui comprend des paragraphes, des images, des formes et des tableaux. Cela permet de créer des tableaux imbriqués pour les cas d'utilisation complexes.

Lorsque l'on travaille avec des cellules de tableau, IronWord propose plusieurs approches pour la gestion du contenu. Instanciez un TableCell avec un contenu initial à l'aide du constructeur, ou ajoutez du contenu de manière incrémentielle à l'aide de la méthode AddChild. Cette flexibilité permet de construire des structures cellulaires complexes qui combinent différents types de contenu. Par exemple, une seule cellule peut contenir un paragraphe d'en-tête suivi d'une image et d'un tableau imbriqué pour les spécifications détaillées.

Voici un exemple démontrant des techniques avancées de population cellulaire :

// Example: Creating cells with mixed content
TableCell complexCell = new TableCell();

// Add a styled paragraph
Paragraph header = new Paragraph();
header.Add(new TextContent("Product Details").Bold().FontSize = 14);
complexCell.AddChild(header);

// Add multiple text elements
complexCell.AddChild(new TextContent("SKU: "));
complexCell.AddChild(new TextContent("PROD-001").Bold());
complexCell.AddChild(new TextContent("\nPrice: $49.99"));

// Cells can also contain lists, images, and more
// This demonstrates the versatility of table cells in IronWord
// Example: Creating cells with mixed content
TableCell complexCell = new TableCell();

// Add a styled paragraph
Paragraph header = new Paragraph();
header.Add(new TextContent("Product Details").Bold().FontSize = 14);
complexCell.AddChild(header);

// Add multiple text elements
complexCell.AddChild(new TextContent("SKU: "));
complexCell.AddChild(new TextContent("PROD-001").Bold());
complexCell.AddChild(new TextContent("\nPrice: $49.99"));

// Cells can also contain lists, images, and more
// This demonstrates the versatility of table cells in IronWord
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Quelles sont les options de style que je peux appliquer aux tableaux ? IronWord offre des fonctionnalités étendues de stylisation des tableaux, permettant la création de documents visuellement attrayants et professionnels. Au-delà des bordures et des couleurs de base, contrôlez le remplissage et l'alignement des cellules et appliquez un formatage conditionnel grâce à la bande zébrée. Le système de style combine puissance et conception intuitive, en utilisant des noms de propriétés familiers et des énumérations de valeurs claires.

Quels sont les styles de bordures disponibles ? Explorez toutes les options disponibles pour les valeurs de bordure à l'aide de l'énumération `BorderValues` :
Menu des styles de bordure de Word montrant des options telles que simple, double, triple, pointillé, tiret, vague et diverses combinaisons d'épaisseur
L'énumération `BorderValues` offre des options complètes pour l'esthétique des tableaux. Des simples lignes aux motifs complexes tels que les vagues et les points, chaque style répond à des objectifs de conception spécifiques. Les documents professionnels bénéficient de bordures doubles ou triples professionnelles, tandis que les documents créatifs utilisent des motifs Wave ou DashDot. La propriété `BorderSize` fonctionne avec `BorderValue` pour fournir un contrôle précis de l'épaisseur de la ligne, mesurée en huitièmes de point. Voici un exemple pratique montrant différentes configurations de bordures : ```csharp // Example: Applying different borders to table sections Table styledTable = new Table(4, 4); // Create distinct border styles for header and body BorderStyle headerBorder = new BorderStyle { BorderColor = Color.Navy, BorderValue = BorderValues.Double, BorderSize = 8 }; BorderStyle bodyBorder = new BorderStyle { BorderColor = Color.Gray, BorderValue = BorderValues.Dotted, BorderSize = 3 }; // Apply different borders to different parts of the table // This creates visual hierarchy and improves readability styledTable.Borders = new TableBorders { TopBorder = headerBorder, BottomBorder = headerBorder, LeftBorder = bodyBorder, RightBorder = bodyBorder, InsideHorizontalBorder = bodyBorder, InsideVerticalBorder = bodyBorder }; // Zebra striping for better row distinction styledTable.Zebra = new ZebraColor("F5F5F5", "FFFFFF"); ``` Les propriétés de largeur de tableau et d'alignement permettent un contrôle supplémentaire de la mise en page. Réglez les tableaux sur des largeurs ou des pourcentages spécifiques, alignez-les dans le document et contrôlez l'interaction avec le contenu environnant. Les options de style au niveau des cellules comprennent les couleurs d'arrière-plan individuelles, l'alignement du texte et les ajustements de remplissage, ce qui permet un contrôle granulaire de tous les aspects de l'apparence des tableaux. Ces options de style permettent de créer des tableaux répondant aux exigences de conception de n'importe quel document, qu'il s'agisse de simples grilles de données ou d'états financiers complexes avec de multiples hiérarchies visuelles.

Questions Fréquemment Posées

Comment créer un tableau avec des dimensions spécifiques dans un document Word ?

Avec IronWord, vous pouvez créer un tableau en instanciant la classe Table et en spécifiant le nombre de lignes et de colonnes. Par exemple, utilisez 'var table = new IronWord.Models.Table(3,4);' pour créer un tableau de 3 lignes et 4 colonnes. Ajoutez-le ensuite à un objet WordDocument et enregistrez-le en tant que fichier DOCX.

Puis-je styliser des tableaux avec des bordures et des couleurs de manière programmatique ?

Oui, IronWord vous permet de configurer un style de tableau complet, y compris les couleurs d'arrière-plan, l'ombrage, les bordures, les bandes zébrées et la largeur. Vous pouvez appliquer ces styles à votre objet Tableau avant de l'ajouter au document Word.

Comment accéder à des cellules spécifiques d'un tableau et les remplir ?

IronWord utilise l'indexation à base zéro pour accéder aux cellules des tableaux. Vous pouvez accéder aux cellules en utilisant la notation intuitive [ligne, colonne], puis les remplir avec différents types de contenu, notamment du texte, des images, des formes, des paragraphes ou même des tableaux imbriqués.

Quels types de contenu puis-je ajouter aux cellules d'un tableau ?

En utilisant la classe TableCell d'IronWord, vous pouvez ajouter plusieurs types de contenu grâce à la méthode AddChild, qui accepte les objets ContentElement. Il peut s'agir de paragraphes, d'images, de formes et même de tableaux pour créer des structures de tableaux imbriqués.

Est-il possible de créer des tableaux imbriqués dans des cellules de tableau ?

Oui, IronWord prend en charge les tableaux imbriqués. Comme la méthode AddChild accepte les objets ContentElement, y compris les tableaux, vous pouvez ajouter un tableau à l'intérieur d'une cellule de tableau pour gérer des exigences complexes en matière d'organisation des données.

Quel est le moyen le plus rapide de générer un fichier DOCX avec un tableau ?

L'approche la plus rapide avec IronWord consiste à créer un objet Table avec des dimensions, à instancier un WordDocument, à ajouter la table à l'aide de AddTable() et à enregistrer avec SaveAs(). L'ensemble du processus peut être réalisé en seulement 4 lignes de code.

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 28,054 | Version : 2025.12 vient de sortir