Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Los documentos de Microsoft Word se utilizan ampliamente para diversos fines, desde informes empresariales formales hasta cartas personales. En C#, los desarrolladores a menudo necesitan generar documentos de Microsoft Word mediante programación. Tradicionalmente, los desarrolladores de aplicaciones Windows han utilizado Microsoft Office Interop para generar y crear documentos Word con C#.
Sin embargo, este enfoque no es accesible para todo el mundo, y los desarrolladores pueden encontrarse utilizando un sistema operativo o en una máquina Linux en la que no esté disponible la interfaz de Microsoft Office. En estos casos, los desarrolladores deben explorar otras bibliotecas que puedan funcionar de forma independiente en distintas plataformas. Una de estas potentes bibliotecas para trabajar con archivos Word mediante programación es IronWord, de **Software de hierro.
IronWord proporciona una sólida funcionalidad para trabajar con documentos de Word en aplicaciones .NET y puede ejecutarse en diferentes plataformas e imágenes docker/contenedores basados en Linux. Con IronWord, que tiene C# intuitivo, VB.NET Word, y Docx Document API, no hay necesidad de instalar Microsoft Office, automatización de Office, o Word Interop, para construir, editar y exportar archivos de documentos de Word. IronWord es totalmente compatible con .NET 8, 7, 6, Framework, Core y Azure.
Este artículo explorará la creación de documentos Word en C# utilizando la librería IronWord.
Abra y visualice el documento Word creado.
**Requisitos previos
Cree una nueva aplicación de consola C# o utilice un proyecto existente en el que desee generar el documento Word.
Seleccione la plantilla de aplicación de consola y haga clic en Siguiente.
En el siguiente paso, puede proporcionar los nombres de la solución y del proyecto.
Seleccione la versión .NET y haga clic en "Crear".
Abra su proyecto C# e instale el IronWord mediante la consola del gestor de paquetes NuGet:
Install-Package IronWord -Version 2024.1.2
El paquete NuGet también puede instalarse mediante el gestor de paquetes de Visual Studio, como se muestra a continuación.
Empecemos con el sencillo ejemplo de crear un documento Word utilizando la biblioteca IronWord. El siguiente código muestra cómo crear un documento esencial de Word con un único párrafo que contiene el texto "Hola, mundo!"
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
using IronWord;
using IronWord.Models;
// Create textrun instance
TextRun textRun = new TextRun("Hello, World!");
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Create a new Word document object
WordDocument doc = new WordDocument(paragraph);
// Export docx
doc.SaveAs("example.docx"); // save docx file to disk
Imports IronWord
Imports IronWord.Models
' Create textrun instance
Private textRun As New TextRun("Hello, World!")
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Create a new Word document object
Dim doc As New WordDocument(paragraph)
' Export docx
doc.SaveAs("example.docx") ' save docx file to disk
Después de ejecutar el ejemplo de código anterior, se crea el nuevo archivo de documento, ejemplo.docx, y la salida es la que se muestra a continuación.
Este es un ejemplo fundamental de generación de un archivo de documento Word utilizando IronWord. Para más información, puede consultar los documentos aquí.
Ahora que sabemos cómo crear un documento sencillo de Word con IronWord, vamos a añadir párrafos y texto con estilo.
TextRun también puede tomar datos de estilo, mejorando la representación visual del texto. El texto puede configurarse con estilos como tachado, negrita, cursiva y subrayado.
Modifica y añade el siguiente código al programa que has hecho anteriormente.
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
// add italic string
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create textrun
TextRun textRun = new TextRun("Hello, World!"); // add string
Paragraph paragraph = new Paragraph();
paragraph.AddTextRun(textRun);
// Configure text
TextRun introText = new TextRun("This is an example paragraph with italic and bold styling."); // add string or text
TextStyle italicStyle = new TextStyle()
{
IsItalic = true
};
TextRun italicText = new TextRun("Italic example sentence.", italicStyle);
// add italic string
TextStyle boldStyle = new TextStyle()
{
IsBold = true
};
TextRun boldText = new TextRun("Bold example sentence.", boldStyle);
// add bold string
// Add text
paragraph.AddTextRun(introText);
paragraph.AddTextRun(italicText);
paragraph.AddTextRun(boldText);
// Create a new Word document
WordDocument doc = new WordDocument(paragraph);
// Export docx document
doc.SaveAs("example.docx");// docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create textrun
Private textRun As New TextRun("Hello, World!") ' add string
Private paragraph As New Paragraph()
paragraph.AddTextRun(textRun)
' Configure text
Dim introText As New TextRun("This is an example paragraph with italic and bold styling.") ' add string or text
Dim italicStyle As New TextStyle() With {.IsItalic = True}
Dim italicText As New TextRun("Italic example sentence.", italicStyle)
' add italic string
Dim boldStyle As New TextStyle() With {.IsBold = True}
Dim boldText As New TextRun("Bold example sentence.", boldStyle)
' add bold string
' Add text
paragraph.AddTextRun(introText)
paragraph.AddTextRun(italicText)
paragraph.AddTextRun(boldText)
' Create a new Word document
Dim doc As New WordDocument(paragraph)
' Export docx document
doc.SaveAs("example.docx") ' docx file save in EXE location
Para una representación clara de los datos, también pueden representarse en una cuadrícula. Cuando los datos se organizan en forma de cuadrícula, se denomina tabla. Con IronWord, podemos añadir tablas e imágenes al documento Word, como se muestra a continuación:
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() {
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
using IronWord;
using IronWord.Models;
// Create table cell
TableCell cell = new TableCell();
TextRun textRun = new TextRun();
textRun.Text = "Sample text";
// Add textrun to the cell
cell.AddContent(new Paragraph(textRun));
// Configure border style
BorderStyle borderStyle = new BorderStyle();
borderStyle.BorderColor = new IronColor(IronSoftware.Drawing.Color.Black);
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick;
borderStyle.BorderSize = 5;
// Configure table border
TableBorders tableBorders = new TableBorders() {
TopBorder = borderStyle,
RightBorder = borderStyle,
BottomBorder = borderStyle,
LeftBorder = borderStyle,
};
cell.Borders = tableBorders;
// Create row and add cell
TableRow row = new TableRow();
row.AddCell(cell); // add cell
row.AddCell(cell); // add cell
// Create table and add row
Table table = new Table();
table.AddRow(row);
// Generate document from the table
WordDocument doc = new WordDocument(table);
// Export Word document
doc.SaveAs("Document.docx"); // docx file save in EXE location
Imports IronWord
Imports IronWord.Models
' Create table cell
Private cell As New TableCell()
Private textRun As New TextRun()
textRun.Text = "Sample text"
' Add textrun to the cell
cell.AddContent(New Paragraph(textRun))
' Configure border style
Dim borderStyle As New BorderStyle()
borderStyle.BorderColor = New IronColor(IronSoftware.Drawing.Color.Black)
borderStyle.BorderValue = IronWord.Models.Enums.BorderValues.Thick
borderStyle.BorderSize = 5
' Configure table border
Dim tableBorders As New TableBorders() With {
.TopBorder = borderStyle,
.RightBorder = borderStyle,
.BottomBorder = borderStyle,
.LeftBorder = borderStyle
}
cell.Borders = tableBorders
' Create row and add cell
Dim row As New TableRow()
row.AddCell(cell) ' add cell
row.AddCell(cell) ' add cell
' Create table and add row
Dim table As New Table()
table.AddRow(row)
' Generate document from the table
Dim doc As New WordDocument(table)
' Export Word document
doc.SaveAs("Document.docx") ' docx file save in EXE location
En el ejemplo anterior, hemos añadido una tabla a un documento Word utilizando bordes.
Las imágenes mejoran la presentación del documento y pueden añadir más colorido y atractivo visual.
Las imágenes pueden añadirse mediante programación a un documento Word utilizando IronWord, como se muestra en el código siguiente:
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
using IronWord;
using IronWord.Models;
// Load new document
WordDocument doc = new WordDocument();
// Configure image
IronWord.Models.Image image = new IronWord.Models.Image("SalesChart.jpg");
image.Width = 200; // In unit pixel (px)
image.Height = 200; // In unit pixel (px)
Paragraph paragraph = new Paragraph();
// Add image
paragraph.AddImage(image);
// Add paragraph
doc.AddParagraph(paragraph);
// Export docx
doc.SaveAs("save_document.docx"); // docx file
Imports IronWord
Imports IronWord.Models
' Load new document
Private doc As New WordDocument()
' Configure image
Private image As New IronWord.Models.Image("SalesChart.jpg")
image.Width = 200 ' In unit pixel (px)
image.Height = 200 ' In unit pixel (px)
Dim paragraph As New Paragraph()
' Add image
paragraph.AddImage(image)
' Add paragraph
doc.AddParagraph(paragraph)
' Export docx
doc.SaveAs("save_document.docx") ' docx file
Aquí, estamos agregando una imagen usando IronWord.Models.Image con un Alto y Ancho de 200 pixeles a un párrafo.
IronWord requiere una licencia de uso. Puede obtenerse una clave de prueba en el sitio web de Iron Software aquí. Esta clave debe colocarse en appsettings.json.
{
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
{
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
}
If True Then
"IronWord.LicenseKey":"IRONWORD.MYLICENSE.KEY.TRIAL"
End If
Proporcione su correo electrónico para obtener una licencia de prueba. Cuando envíe su dirección de correo electrónico, recibirá la clave por correo electrónico.
Creación de documentos de Word en C# utilizando el IronWord ofrece una forma flexible y eficaz de generar documentos sin depender de Microsoft Office. Tanto si necesita crear cartas sencillas como informes complejos con tablas e imágenes, IronWord le permite conseguirlo mediante programación. Este artículo proporciona un tutorial completo sobre la creación de documentos Word. Con IronWord, podrá automatizar la creación de documentos Word, haciendo que sus aplicaciones C# sean más versátiles y productivas.
Y para los desarrolladores que buscan la manipulación de archivos PDF para trabajar en conjunto con sus documentos de Word generados, no busque más allá de IronPDF otra biblioteca C # producido por Iron Software. Para comprobarlo, haga clic en aquí.
9 productos API .NET para sus documentos de oficina