Cómo añadir una tabla a un DOCX

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

Una tabla es una cuadrícula de celdas dispuestas en filas y columnas. Sirve para organizar y presentar información en un formato estructurado. Cada intersección de una fila y una columna es una celda, que puede contener texto, números u otros tipos de datos. Las tablas se suelen utilizar para organizar datos de forma ordenada, crear calendarios o dar formato a la información de manera visualmente organizada.

Biblioteca NuGet C# para

Instalar con NuGet

Install-Package IronWord

Añadir tabla Ejemplo

Una tabla es un componente importante de un documento Word. En primer lugar, instancie la clase Table indicando el número de filas y columnas. A partir de ahí, se puede personalizar el estilo de la tabla, como el color de fondo, el sombreado, el borde, las rayas de cebra y la anchura. En segundo lugar, se puede acceder a cada celda de la tabla de una forma muy intuitiva especificando la fila y la columna de la tabla en [fila, columna] formato. En cada celda se puede añadir texto, imágenes, formas, párrafos o incluso tablas enteras. Por último, esta tabla puede añadirse al documento Word.

Consejos
Todas las posiciones de índice de filas y columnas siguen una indexación basada en cero.

: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 Text("Number"));
table[0, 1] = new TableCell(new Text("First Name"));
table[0, 2] = new TableCell(new Text("Last Name"));
for (int i = 1; i < table.Rows.Count; i++)
{
    table[i, 0].AddChild(new Text($"{i}"));
    table[i, 1].AddChild(new Text($"---"));
    table[i, 2].AddChild(new Text($"---"));
}

// 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 Text("Number"))
table(0, 1) = New TableCell(New Text("First Name"))
table(0, 2) = New TableCell(New Text("Last Name"))
For i As Integer = 1 To table.Rows.Count - 1
	table(i, 0).AddChild(New Text($"{i}"))
	table(i, 1).AddChild(New Text($"---"))
	table(i, 2).AddChild(New Text($"---"))
Next i

' Add table
doc.AddTable(table)

doc.Save("document.docx")
VB   C#
Añadir tabla

El método AddContent de la clase TableCell acepta un objeto ContentElement, que incluye desde párrafos, imágenes y formas hasta la propia tabla. En este caso, puede tener tablas anidadas, lo que proporciona una ilustración muy útil para determinados casos de uso.

Estilos disponibles

Fronteras

Explora todas las opciones disponibles para los valores de borde que se pueden establecer utilizando el enum BorderValues:

Valores fronterizos