USO DE IRONWORD

C# Editar Word (Tutorial de código de ejemplo para desarrolladores)

Actualizado 14 de noviembre, 2023
Compartir:

La creación, edición y gestión de documentos Word es un requisito frecuente para muchas aplicaciones. Aunque hay varias formas de crear y editar un documento Word en C#, uno de los métodos más potentes es utilizar los servicios Microsoft Interop. Con esta herramienta, puede manejar documentos de Word mediante programación con mucha facilidad.

Requisitos previos

Antes de configurar el entorno y empezar con el código, asegúrate de que cumples los siguientes requisitos previos:

  1. Estudio Visual: Asegúrese de tener Visual Studio instalado en su máquina. Si no es así, descárguelo e instálelo desde el sitio web oficial de Microsoft.
  2. Microsoft Word: Puesto que estamos utilizando Microsoft Interop, usted debe tener MS Word instalado en su ordenador. El servicio Interop interactúa con la aplicación Microsoft Word instalada en su máquina.
  3. Conocimientos básicos de C# Comprensión básica de C#
  4. NET Framework: Asegúrese de que su Visual Studio es compatible con .NET Framework, ya que nuestra aplicación se basará en él.

Configuración del entorno

Comienza abriendo la aplicación Visual Studio. Una vez abierto, aparecerá una pantalla de bienvenida.

1. Crear una nueva aplicación de consola .NET Framework

  1. Haga clic en "Crear un nuevo proyecto".
  2. Escriba "Consola App (.NET Framework)" en la casilla de búsqueda.
  3. En los resultados, seleccione "Consola App (.NET Framework)" y haga clic en el botón "Siguiente".
  4. Asigne un nombre al proyecto y haga clic en el botón "Crear".

    Después de estos pasos, Visual Studio generará una nueva aplicación de consola .NET Framework para usted. En el archivo Program.cs, encontrarás una plantilla básica con un método Main, que es el punto de entrada para las aplicaciones de consola.

2. Instalar Microsoft.Office.Interop.Word usando NuGet Package Manager

NuGet es un gestor de paquetes para .NET, y está integrado en Visual Studio. A continuación se explica cómo utilizarlo para instalar el paquete Microsoft.Office.Interop.Word:

  1. En Visual Studio, vaya al menú "Herramientas".
  2. Seleccione "Gestor de paquetes NuGet" y, a continuación, "Gestionar paquetes NuGet para solución...".
  3. En la ventana de NuGet, haga clic en la pestaña "Examinar".
  4. En el cuadro de búsqueda, escriba Microsoft.Office.Interop.Word y pulse Intro.
  5. En los resultados de la búsqueda, seleccione el paquete Microsoft.Office.Interop.Word.
  6. En la parte derecha, asegúrese de que su proyecto de aplicación de consola está marcado y, a continuación, haga clic en el botón "Instalar".

    C# Editar Palabra (Ejemplo de Código Tutorial para Desarrolladores) Figura 1

    Visual Studio instalará el paquete y añadirá una referencia al mismo en el proyecto. Este paquete contiene los ensamblados y herramientas necesarios para interactuar con MS Word desde su aplicación C#.

Presentamos IronWord: Una alternativa superior a Interop

Aunque Interop ofrece potentes funciones para trabajar con Word y Excel, tiene limitaciones. IronWord es una biblioteca versátil optimizada para desarrolladores .NET. IronWord ofrece una experiencia más fluida que Interop, especialmente para tareas de edición de documentos Word. No sólo garantiza la compatibilidad y el rendimiento, sino que también simplifica las tareas complejas con métodos intuitivos. Para facilitar la comparación, proporcionaré fragmentos de código IronWord para cada caso de uso después de MS Word, utilizando la versión de IronWord 2024.1.2.

Abrir un documento de Word existente

A menudo, puede que necesite editar documentos de Word existentes, el siguiente ejemplo muestra cómo hacerlo en C#:

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"path_to_your_document.docx");
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Open("path_to_your_document.docx")
VB   C#

En el código anterior, sustituya ruta_a_su_documento.docx por la ruta a su archivo docx.

Uso de IronWord

Abra un documento Word con IronWord.

WordDocument doc = new WordDocument(@"path_to_your_document.docx");
WordDocument doc = new WordDocument(@"path_to_your_document.docx");
Dim doc As New WordDocument("path_to_your_document.docx")
VB   C#

Crear un nuevo documento de Word

Para crear documentos Word desde cero:

var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Add();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Add()
VB   C#

Este fragmento de código crea un nuevo documento de Word que puede escribir y editar utilizando C#.

Uso de IronWord

WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
VB   C#

Usando C#

Añadir texto al documento Word

Para añadir un nuevo párrafo de texto:

WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
VB   C#

La función Paragraphs.Add()El métodoRange.Textañade un nuevo párrafo al documento Word y la propiedadRange.Text` le asigna un nuevo texto.

Uso de IronWord

doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
VB   C#

Editar texto existente

Para este tutorial, vamos a cambiar el primer párrafo:

WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
VB   C#

También puede añadir y editar otros elementos del documento Word utilizando métodos similares.

Uso de IronWord

doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
VB   C#

Guardar y cerrar el documento

Una vez realizadas las modificaciones deseadas:

WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
VB   C#

Sustituye ruta_donde_quieras_guardar.docx por la ruta que desees.

Uso de IronWord

doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs(@"path_where_you_want_to_save.docx");
doc.SaveAs("path_where_you_want_to_save.docx")
VB   C#

Código completo y ejemplo

Pongámoslo todo junto. A continuación se muestra un ejemplo de código completo que demuestra cómo abrir un documento de Word existente, editarlo y, a continuación, guardar los cambios:

var WordApp = new Microsoft.Office.Interop.Word.Application();

//  Crear un nuevo documento Word
var WordDoc = WordApp.Documents.Add();

//  Añadir nuevo texto
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

//  Editar el primer párrafo
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

//  Guardar y cerrar
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
var WordApp = new Microsoft.Office.Interop.Word.Application();

//  Crear un nuevo documento Word
var WordDoc = WordApp.Documents.Add();

//  Añadir nuevo texto
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";

//  Editar el primer párrafo
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";

//  Guardar y cerrar
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()

'  Crear un nuevo documento Word
Dim WordDoc = WordApp.Documents.Add()

'  Añadir nuevo texto
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."

'  Editar el primer párrafo
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."

'  Guardar y cerrar
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
VB   C#

Uso de IronWord

El ejemplo de código completo comparado con MS Word. IronWord utiliza fragmentos de código concisos para editar archivos DOCX.

//  Crear un documento Word vacío
WordDocument doc = new WordDocument();

//  Añadir nuevo texto
doc.AddText("This is the first paragraph.");

//  Editar texto
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

//  Exportar docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
//  Crear un documento Word vacío
WordDocument doc = new WordDocument();

//  Añadir nuevo texto
doc.AddText("This is the first paragraph.");

//  Editar texto
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";

//  Exportar docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
'  Crear un documento Word vacío
Dim doc As New WordDocument()

'  Añadir nuevo texto
doc.AddText("This is the first paragraph.")

'  Editar texto
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."

'  Exportar docx
doc.SaveAs("path_where_you_want_to_save.docx")
VB   C#

Conclusión

En el ámbito de la manipulación de documentos de Word y Excel dentro de aplicaciones .NET, abundan las opciones. Aunque los servicios Interop de Microsoft han sido una opción para muchos, la aparición de soluciones como IronWord supone un cambio hacia herramientas más eficaces y fáciles de usar.

< ANTERIOR
Cómo crear un documento de Word en C#
SIGUIENTE >
Cómo convertir Word a PDF en C#

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 3,031 Ver licencias >
123