C#/VB.NET: Erstellen Sie eine Tabelle in Word

2023-09-27 06:53:44

Über NuGet installiert

PM> Install-Package Spire.Doc

verwandte Links

In MS Word können die Tabellen Daten in Zeilen und Spalten organisieren und darstellen, was das Verständnis und die Analyse der Informationen erleichtert. In diesem Artikel erfahren Sie, wie Sie programmgesteuert vorgehen Erstellen Sie eine Tabelle mit Daten in einem Word-Dokument Verwendung von Spire.Doc for .NET.

Installieren Sie Spire.Doc for .NET

Zunächst müssen Sie die im Spire.Doc for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Spire.Doc

Erstellen Sie eine einfache Tabelle in Word

Nachfolgend finden Sie einige der Kernklassen und Methoden, die Spire.Doc for .NET zum Erstellen und Formatieren von Tabellen in Word bereitstellt.

Name Beschreibung
Tischklasse Stellt eine Tabelle in einem Word-Dokument dar.
TableRow-Klasse Stellt eine Zeile in einer Tabelle dar.
TableCell-Klasse Stellt eine bestimmte Zelle in einer Tabelle dar.
Section.AddTbale()-Methode Fügt dem angegebenen Abschnitt eine neue Tabelle hinzu.
Table.ResetCells()-Methode Setzt Zeilennummer und Spaltennummer zurück.
Table.Rows-Eigenschaft Ruft die Tabellenzeilen ab.
TableRow.Height-Eigenschaft Legt die Höhe der angegebenen Zeile fest.
TableRow.Cells-Eigenschaft Gibt die Zellsammlung zurück.
TableRow.RowFormat-Eigenschaft Ruft das Format der angegebenen Zeile ab.

Die detaillierten Schritte sind wie folgt

  • Erstellen Sie ein Document-Objekt und fügen Sie ihm einen Abschnitt hinzu.
  • Bereiten Sie die Daten für die Kopfzeile und andere Zeilen vor und speichern Sie sie in einem eindimensionalen String-Array bzw. einem zweidimensionalen String-Array.
  • Fügen Sie dem Abschnitt mit der Methode Section.AddTable() eine Tabelle hinzu.
  • Fügen Sie Daten in die Kopfzeile ein und legen Sie die Zeilenformatierung fest, einschließlich Zeilenhöhe, Hintergrundfarbe und Textausrichtung.
  • Fügen Sie Daten in die restlichen Zeilen ein und wenden Sie die Formatierung auf diese Zeilen an.
  • Speichern Sie das Dokument mit der Methode Document.SaveToFile() in einer anderen Datei.
  • 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

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch