Hinzufügen einer Tabelle zu DOCX mit C# mit IronWord
IronWord ermöglicht es Entwicklern, Word-Dokumenten in C# programmatisch Tabellen hinzuzufügen, indem sie Table-Objekte mit bestimmten Zeilen und Spalten erstellen, sie mit Rahmen und Farben gestalten und die Zellen mit Inhalt füllen, bevor sie als DOCX-Dateien gespeichert werden.
Schnellstart: Erstellen und Speichern einer Tabelle mit einem Aufruf
Dieses Beispiel zeigt, wie man eine Tabelle in IronWord erstellt. Konstruieren Sie die Tabelle mit Abmessungen, wenden Sie Stile an, fügen Sie Inhalte hinzu, fügen Sie sie in ein Dokument ein und speichern Sie sie. Sie können in wenigen Minuten eine DOCX-Datei mit einer gestylten Tabelle erstellen.
-
Installieren Sie IronWord mit NuGet Package Manager
PM > Install-Package IronWord -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
var table = new IronWord.Models.Table(3,4); var doc = new IronWord.WordDocument(); doc.AddTable(table); doc.SaveAs("QuickTable.docx"); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronWord in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- C#-Bibliothek zum Hinzufügen von Tabellen zu DOCX herunterladen
- Füllen Sie Zellen mit Inhalten und fügen Sie die Zellen zu Reihen zusammen.
- Tabelle durch Hinzufügen von Zeilen erstellen
- Initialisieren Sie ein neues Word-Dokument mit der Tabelle und fügen Sie die Tabelle hinzu.
- Exportieren Sie das endgültige Word-Dokument.
Wie füge ich eine Tabelle zu meinem Word-Dokument hinzu?
Eine Tabelle ist ein wesentlicher Bestandteil von Word-Dokumenten. Zuerst instanziieren Sie die Table-Klasse, indem Sie die Anzahl der Zeilen und Spalten angeben. Konfigurieren Sie das Styling der Tabelle, einschließlich Hintergrundfarbe, Schattierung, Rahmen, Zebrastreifen und Breite. Zweitens: Zugriff auf jede Zelle durch intuitive [Zeile, Spalte]-Indizierung. Fügen Sie zu jeder Zelle Text, Bilder, Formen, Absätze oder sogar Tabellen hinzu. Fügen Sie schließlich die Tabelle in das Word-Dokument ein.
Tabellen in IronWord bieten eine flexible Grundlage für die Organisation von strukturierten Daten in Word-Dokumenten. Ob Rechnungen, Berichte oder Datenzusammenfassungen, die Klasse Table bietet umfassende Kontrolle über Inhalt und Darstellung. Das Null-basierte Indexierungssystem vereinfacht die programmatische Iteration der Zellen, während umfangreiche Styling-Optionen für ein professionelles Erscheinungsbild sorgen.
: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")
Die AddChild-Methode der TableCell-Klasse akzeptiert ein ContentElement-Objekt, das Absätze, Bilder, Formen und Tabellen enthält. Dies ermöglicht verschachtelte Tabellen für komplexe Anwendungsfälle.
Bei der Arbeit mit Tabellenzellen bietet IronWord mehrere Ansätze für das Inhaltsmanagement. Instanziieren Sie eine TableCell mit anfänglichem Inhalt mit dem Konstruktor, oder fügen Sie schrittweise Inhalte mit der Methode AddChild hinzu. Diese Flexibilität ermöglicht den Aufbau komplexer Zellstrukturen, die verschiedene Inhaltstypen kombinieren. So kann eine einzelne Zelle beispielsweise einen Kopfabsatz, gefolgt von einem Bild und einer verschachtelten Tabelle für detaillierte Spezifikationen enthalten.
Hier ist ein Beispiel, das fortgeschrittene Zellpopulationstechniken demonstriert:
// 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
' Example: Creating cells with mixed content
Dim complexCell As New TableCell()
' Add a styled paragraph
Dim header As 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(vbCrLf & "Price: $49.99"))
' Cells can also contain lists, images, and more
' This demonstrates the versatility of table cells in IronWord
Welche Styling-Optionen kann ich auf Tabellen anwenden?
IronWord bietet umfangreiche Styling-Funktionen für Tabellen und ermöglicht so die Erstellung optisch ansprechender und professioneller Dokumente. Neben grundlegenden Rändern und Farben können Sie auch die Auffüllung und Ausrichtung von Zellen steuern und bedingte Formatierungen durch Zebrastreifen anwenden. Das Styling-System kombiniert Leistung mit intuitivem Design, indem es vertraute Eigenschaftsnamen und klare Werteaufzählungen verwendet.
Welche Rahmenstile sind verfügbar?
Erforschen Sie alle verfügbaren Optionen für Randwerte mit dem BorderValues enum:
Die Aufzählung BorderValues bietet umfassende Optionen für die Tabellenästhetik. Jeder Stil, von einfachen einzelnen Linien bis hin zu komplexen Mustern wie Wellen und Punkten, dient bestimmten Designzwecken. Geschäftsdokumente profitieren von professionellen doppelten oder dreifachen Umrandungen, während kreative Dokumente Wellen- oder DashDot-Muster verwenden. Die Eigenschaft BorderSize arbeitet mit BorderValue zusammen, um eine präzise Steuerung der Liniendicke, gemessen in Achtelpunkten, zu ermöglichen.
Hier ist ein praktisches Beispiel, das verschiedene Rahmenkonfigurationen zeigt:
// 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");
// 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");
Imports System.Drawing
' Example: Applying different borders to table sections
Dim styledTable As New Table(4, 4)
' Create distinct border styles for header and body
Dim headerBorder As New BorderStyle With {
.BorderColor = Color.Navy,
.BorderValue = BorderValues.Double,
.BorderSize = 8
}
Dim bodyBorder As New BorderStyle With {
.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 With {
.TopBorder = headerBorder,
.BottomBorder = headerBorder,
.LeftBorder = bodyBorder,
.RightBorder = bodyBorder,
.InsideHorizontalBorder = bodyBorder,
.InsideVerticalBorder = bodyBorder
}
' Zebra striping for better row distinction
styledTable.Zebra = New ZebraColor("F5F5F5", "FFFFFF")
Tabellenbreite und Alignment-Eigenschaften bieten zusätzliche Layout-Kontrolle. Setzen Sie Tabellen auf bestimmte Breiten oder Prozentsätze, richten Sie sie innerhalb des Dokuments aus und steuern Sie die Interaktion mit dem umgebenden Inhalt. Zu den Styling-Optionen auf Zellebene gehören individuelle Hintergrundfarben, Textausrichtung und Auffüllungsanpassungen, die eine granulare Kontrolle über jeden Aspekt des Tabellenaussehens ermöglichen.
Diese Styling-Optionen ermöglichen die Erstellung von Tabellen, die den Designanforderungen eines jeden Dokuments entsprechen, von einfachen Datenrastern bis hin zu komplexen Finanzberichten mit mehreren visuellen Hierarchien.
Häufig gestellte Fragen
Wie kann ich in einem Word-Dokument eine Tabelle mit bestimmten Abmessungen erstellen?
Mit IronWord können Sie eine Tabelle erstellen, indem Sie die Table-Klasse instanziieren und die Anzahl der Zeilen und Spalten angeben. Verwenden Sie zum Beispiel 'var table = new IronWord.Models.Table(3,4);', um eine Tabelle mit 3 Zeilen und 4 Spalten zu erstellen. Fügen Sie sie dann einem WordDocument-Objekt hinzu und speichern Sie sie als DOCX-Datei.
Kann ich Tabellen mit Rahmen und Farben programmatisch gestalten?
Ja, IronWord ermöglicht es Ihnen, ein umfassendes Tabellen-Styling zu konfigurieren, einschließlich Hintergrundfarben, Schattierungen, Rahmen, Zebrastreifen und Breite. Sie können diese Stile auf Ihr Tabellenobjekt anwenden, bevor Sie es dem Word-Dokument hinzufügen.
Wie kann ich auf bestimmte Zellen in einer Tabelle zugreifen und sie ausfüllen?
IronWord verwendet die nullbasierte Indizierung für den Zugriff auf Tabellenzellen. Sie können auf die Zellen mit der intuitiven [Zeile, Spalte]-Notation zugreifen und sie dann mit verschiedenen Inhaltstypen wie Text, Bildern, Formen, Absätzen oder sogar verschachtelten Tabellen auffüllen.
Welche Arten von Inhalten kann ich zu Tabellenzellen hinzufügen?
Mit der TableCell-Klasse von IronWord können Sie über die AddChild-Methode, die ContentElement-Objekte akzeptiert, mehrere Inhaltstypen hinzufügen. Dazu gehören Absätze, Bilder, Formen und sogar Tabellen zur Erstellung verschachtelter Tabellenstrukturen.
Ist es möglich, verschachtelte Tabellen innerhalb von Tabellenzellen zu erstellen?
Ja, IronWord unterstützt verschachtelte Tabellen. Da die AddChild-Methode ContentElement-Objekte einschließlich Tabellen akzeptiert, können Sie eine Tabelle innerhalb einer Tabellenzelle hinzufügen, um komplexe Anforderungen an die Datenorganisation zu erfüllen.
Wie kann ich am schnellsten eine DOCX-Datei mit einer Tabelle erstellen?
Der schnellste Ansatz mit IronWord besteht darin, ein Table-Objekt mit Dimensionen zu erstellen, ein WordDocument zu instanziieren, die Tabelle mit AddTable() hinzuzufügen und mit SaveAs() zu speichern. Dieser gesamte Prozess kann in nur 4 Codezeilen abgeschlossen werden.

