Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Crear, editar y gestionar documentos de 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.
Antes de configurar el entorno y empezar con el código, asegúrate de que cumples los siguientes requisitos previos:
Visual Studio: Asegúrate de tener Visual Studio instalado en tu máquina. Si no, descárgalo e instálalo desde el sitio web oficial de Microsoft.
Microsoft Word: Dado que estamos utilizando la interoperabilidad de Microsoft, debes tener MS Word instalado en tu computadora. El servicio Interop interactúa con la aplicación Microsoft Word instalada en su máquina.
Conocimientos básicos de C# Comprender los conceptos básicos de C#
Comienza abriendo la aplicación Visual Studio. Una vez abierto, aparecerá una pantalla de bienvenida.
Haga clic en "Crear un nuevo proyecto".
Escriba "Aplicación de consola (.NET Framework)" en el cuadro de búsqueda.
De los resultados, selecciona "Aplicación de consola (.NET Framework)" y haz clic en el botón "Siguiente".
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.
Microsoft.Office.Interop.Word
utilizando el Administrador de Paquetes NuGetNuGet es un gestor de paquetes para .NET, y está integrado en Visual Studio. A continuación se explica cómo puedes usarlo para instalar el paquete Microsoft.Office.Interop.Word
:
En Visual Studio, vaya al menú "Herramientas".
Seleccione "Gestor de paquetes NuGet" y, a continuación, "Gestionar paquetes NuGet para solución...".
En la ventana de NuGet, haga clic en la pestaña "Examinar".
En el cuadro de búsqueda, escriba Microsoft.Office.Interop.Word
y presione enter.
De los resultados de búsqueda, seleccione el paquete Microsoft.Office.Interop.Word
.
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".
Visual Studio instalará el paquete y añadirá una referencia al mismo en el proyecto. Este paquete contiene los ensamblajes y herramientas necesarios para interactuar con MS Word desde tu aplicación en C#.
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 de IronWord para cada caso de uso después de MS Word, utilizando la versión 2024.1.2 de IronWord.
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")
En el código anterior, reemplace path_to_your_document.docx con la ruta a su archivo docx.
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")
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()
Este fragmento de código crea un nuevo documento de Word que puede escribir y editar utilizando C#.
WordDocument doc = new WordDocument();
WordDocument doc = new WordDocument();
Dim doc As New WordDocument()
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."
El método Paragraphs.Add()
agrega un nuevo párrafo al documento de Word y la propiedad Range.Text
le asigna un nuevo texto.
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord");
doc.AddText("Add text using IronWord")
Para este tutorial, cambiemos 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."
También puede añadir y editar otros elementos del documento Word utilizando métodos similares.
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."
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()
Reemplace path_where_you_want_to_save.docx con su ruta deseada.
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")
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();
// Create a new Word document
var WordDoc = WordApp.Documents.Add();
// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
var WordApp = new Microsoft.Office.Interop.Word.Application();
// Create a new Word document
var WordDoc = WordApp.Documents.Add();
// Add new text
WordDoc.Paragraphs.Add();
WordDoc.Paragraphs [1].Range.Text = "This is the first paragraph.";
// Edit the first paragraph
WordDoc.Paragraphs [1].Range.Text = "This is the edited first paragraph.";
// Save and close
WordDoc.SaveAs(@"path_where_you_want_to_save.docx");
WordDoc.Close();
WordApp.Quit();
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
' Create a new Word document
Dim WordDoc = WordApp.Documents.Add()
' Add new text
WordDoc.Paragraphs.Add()
WordDoc.Paragraphs (1).Range.Text = "This is the first paragraph."
' Edit the first paragraph
WordDoc.Paragraphs (1).Range.Text = "This is the edited first paragraph."
' Save and close
WordDoc.SaveAs("path_where_you_want_to_save.docx")
WordDoc.Close()
WordApp.Quit()
El ejemplo de código completo comparado con MS Word. IronWord utiliza fragmentos de código concisos para editar archivos DOCX.
// Create an empty Word document
WordDocument doc = new WordDocument();
// Add new text
doc.AddText("This is the first paragraph.");
// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
// Create an empty Word document
WordDocument doc = new WordDocument();
// Add new text
doc.AddText("This is the first paragraph.");
// Edit text
doc.Paragraphs [0].TextRuns [0].Text = "This is the edited first paragraph.";
// Export docx
doc.SaveAs(@"path_where_you_want_to_save.docx");
' Create an empty Word document
Dim doc As New WordDocument()
' Add new text
doc.AddText("This is the first paragraph.")
' Edit text
doc.Paragraphs (0).TextRuns (0).Text = "This is the edited first paragraph."
' Export docx
doc.SaveAs("path_where_you_want_to_save.docx")
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.