C#/VB.NET : créer un tableau dans Word

2023-09-27 06:44:58

Installé via NuGet

PM> Install-Package Spire.Doc

Dans MS Word, les tableaux peuvent organiser et présenter les données en lignes et en colonnes, ce qui facilite la compréhension et l'analyse des informations. Dans cet article, vous apprendrez à programmer créer un tableau avec des données dans un document Word en utilisant Spire.Doc for .NET.

Installer Spire.Doc for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for.NET comme références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.Doc

Créer un tableau simple dans Word

Vous trouverez ci-dessous quelques-unes des classes et méthodes de base fournies par Spire.Doc for .NET pour créer et formater des tableaux dans Word.

Nom Description
Classe de table Représente un tableau dans un document Word.
Classe TableRow Représente une ligne dans un tableau.
Classe TableCell Représente une cellule spécifique dans un tableau.
Méthode Section.AddTbale() Ajoute une nouvelle table à la section spécifiée.
Méthode Table.ResetCells() Réinitialise le numéro de ligne et le numéro de colonne.
Propriété Table.Rows Obtient les lignes du tableau.
Propriété TableRow.Height Définit la hauteur de la ligne spécifiée.
Propriété TableRow.Cells Renvoie la collection de cellules.
Propriété TableRow.RowFormat Obtient le format de la ligne spécifiée.

Les étapes détaillées sont les suivantes

  • Créez un objet Document et ajoutez-y une section.
  • Préparez les données pour la ligne d'en-tête et les autres lignes, en les stockant respectivement dans un tableau de chaînes unidimensionnel et un tableau de chaînes bidimensionnel.
  • Ajoutez un tableau à la section à l’aide de la méthode Section.AddTable().
  • Insérez des données dans la ligne d'en-tête et définissez le formatage de la ligne, notamment la hauteur de la ligne, la couleur d'arrière-plan et l'alignement du texte.
  • Insérez des données dans le reste des lignes et appliquez la mise en forme à ces lignes.
  • Enregistrez le document dans un autre fichier à l'aide de la méthode Document.SaveToFile().
  • C#
  • VB.NET
using System;
    using System.Drawing;
    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    
    namespace WordTable
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
                //Add a section
                Section s = doc.AddSection();
    
                //Define the data for the table
                String[] Header = { "Date", "Description", "Country", "On Hands", "On Order" };
                String[][] data = {
                                      new String[]{ "08/07/2021","Dive kayak","United States","24","16"},
                                      new String[]{ "08/07/2021","Underwater Diver Vehicle","United States","5","3"},
                                      new String[]{ "08/07/2021","Regulator System","Czech Republic","165","216"},
                                      new String[]{ "08/08/2021","Second Stage Regulator","United States","98","88"},
                                      new String[]{ "08/08/2021","Personal Dive Sonar","United States","46","45"},
                                      new String[]{ "08/09/2021","Compass Console Mount","United States","211","300"},
                                      new String[]{ "08/09/2021","Regulator System","United Kingdom","166","100"},
                                      new String[]{ "08/10/2021","Alternate Inflation Regulator","United Kingdom","47","43"},
                                  };
                //Add a table
                Table table = s.AddTable(true);
                table.ResetCells(data.Length + 1, Header.Length);
    
                //Set the first row as table header
                TableRow FRow = table.Rows[0];
                FRow.IsHeader = true;
    
                //Set the height and color of the first row
                FRow.Height = 23;
                FRow.RowFormat.BackColor = Color.LightSeaGreen;
                for (int i = 0; i < Header.Length; i++)
                {
                    //Set alignment for cells
                    Paragraph p = FRow.Cells[i].AddParagraph();
                    FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                    p.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                    //Set data format
                    TextRange TR = p.AppendText(Header[i]);
                    TR.CharacterFormat.FontName = "Calibri";
                    TR.CharacterFormat.FontSize = 12;
                    TR.CharacterFormat.Bold = true;
                }
    
                //Add data to the rest of rows and set cell format
                for (int r = 0; r < data.Length; r++)
                {
                    TableRow DataRow = table.Rows[r + 1];
                    DataRow.Height = 20;
                    for (int c = 0; c < data[r].Length; c++)
                    {
                        DataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                        Paragraph p2 = DataRow.Cells[c].AddParagraph();
                        TextRange TR2 = p2.AppendText(data[r][c]);
                        p2.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                        //Set data format
                        TR2.CharacterFormat.FontName = "Calibri";
                        TR2.CharacterFormat.FontSize = 11;
                    }
                }
    
                //Save the document
                doc.SaveToFile("WordTable.docx", FileFormat.Docx2013);
            }
        }
    }

C#/VB.NET: Create a Table in Word

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations fonctionnelles, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également