Cómo Añadir Tabla a DOCX C# | IronWord

How to Add Table to DOCX

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

A table is a grid of cells arranged in rows and columns. It's used to organize and present information in a structured format. Each intersection of a row and column is a cell, which can contain text, numbers, or other types of data. Tables are commonly used to arrange data neatly, create schedules, or format information in a visually organized manner.

Quickstart: Create and Save a Table with One Call

This example shows how easy it is to spin up a table in IronWord—just construct it with size, set your styles, add content, drop it into a document, and save. You’ll have a DOCX with a styled table in minutes.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronWord with NuGet Package Manager

    PM > Install-Package IronWord

  2. Copy and run this code snippet.

    var table = new IronWord.Models.Table(3,4);
    var doc = new IronWord.WordDocument();
    doc.AddTable(table);
    doc.SaveAs("QuickTable.docx");
  3. Deploy to test on your live environment

    Start using IronWord in your project today with a free trial
    arrow pointer

Add Table Example

A table is a significant component of a Word document. Firstly, instantiate the Table class by providing the number of rows and columns. From there, the table's styling, such as background color, shading, border, zebra striping, and width, can be customized. Secondly, each cell of the table can be accessed in a very intuitive way by specifying the row and column of the table in [row, column] format. In each cell, text, images, shapes, paragraphs, or even entire tables can be added. Finally, this table can be added to the Word document.

ConsejosAll row and column index positions follow zero-based indexing.

: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
Add table

The AddChild method of the TableCell class accepts a ContentElement object, which includes everything from paragraphs, images, and shapes to the table itself. In this case, you can have nested tables, providing a very useful illustration for certain use cases.

Available Stylings

Borders

Explore all the available options for border values that can be set using the BorderValues enum:

Border values

Preguntas Frecuentes

¿Cómo puedo añadir una tabla a un documento de Word usando C#?

Puedes añadir una tabla a un documento de Word usando IronWord descargando la biblioteca C#, llenando celdas con contenido, ensamblándolas en filas y creando una tabla añadiendo estas filas. Una vez establecida la estructura de la tabla, inicialízala en un nuevo documento de Word y exporta el documento.

¿Qué opciones de estilo están disponibles para tablas en IronWord?

IronWord te permite personalizar tablas con varias opciones de estilo como color de fondo, sombreado, bordes, rayado tipo cebra y ancho.

¿Cómo añado contenido a una celda en específico en una tabla usando C#?

En IronWord, puedes usar el método AddChild de la clase TableCell para añadir contenido como texto, imágenes, formas o incluso tablas enteras a una celda específica.

¿Puedo anidar tablas dentro de otras tablas de forma programática usando IronWord?

Sí, IronWord te permite anidar tablas dentro de otras tablas, lo cual puede ser particularmente útil para diseños complejos de documentos.

¿Cuál es el formato de indexación para acceder a las celdas de tabla en IronWord?

IronWord utiliza indexación basada en cero para acceder a las celdas de tabla, especificado en un formato [fila, columna].

¿Cómo puedo establecer estilos de borde para tablas en un documento Word usando C#?

Puedes establecer estilos de borde para tablas en IronWord usando el enum BorderValues, que ofrece varias opciones para personalizar los bordes de las tablas.

¿Qué método se usa para guardar un documento de Word después de añadir una tabla con IronWord?

Después de añadir una tabla a un documento de Word usando IronWord, puedes guardar el documento usando el método Save con el nombre de archivo deseado, como document.Save('ExampleTable.docx').

¿Qué tipos de contenido pueden añadirse a una celda de tabla en IronWord?

En IronWord, puedes añadir varios tipos de contenido a una celda de tabla, incluyendo texto, imágenes, formas, párrafos e incluso tablas anidadas.

¿Cómo se inicializa una tabla en IronWord?

Para inicializar una tabla en IronWord, instancia la clase Table proporcionando el número de filas y columnas. Por ejemplo, var table = new Table(3, 3) crea una tabla de 3x3.

¿Cuál es el proceso para exportar un documento de Word con una tabla usando C#?

Para exportar un documento de Word con una tabla usando IronWord, primero crea y estiliza la tabla, inicialízala en el documento Word y luego usa el método Save para exportar el documento como un archivo .docx.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 25,807 | Versión: 2025.11 recién lanzado