Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
Antes de configurar el entorno y empezar con el código, asegúrate de que cumples los siguientes requisitos previos:
Estudio Visual: Asegúrese de tenerVisual Studio instalado en su máquina. Si no es así, descárguelo e instálelo desde el sitio web oficial de Microsoft.
Microsoft Word: Puesto que estamos utilizando Microsoft Interop, usted debe tenerMS Word instalado en su ordenador. El servicio Interop interactúa con la aplicación Microsoft Word instalada en su máquina.
Conocimientos básicos de C# Comprensión básica 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 "Consola App(.NET Framework)" en la casilla de búsqueda.
En los resultados, seleccione "Consola App(.NET Framework)" y haga 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
usando NuGet Package ManagerNuGet 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
:
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 pulse Intro.
En los resultados de la 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 ensamblados y herramientas necesarios para interactuar con MS Word desde su aplicación 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 IronWord para cada caso de uso después de MS Word, utilizando la versión de IronWord2024.1.2.
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, sustituya ruta_a_su_documento.docx por 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."
La función Paragraphs.Add()El método
Range.Textañade un nuevo párrafo al documento 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, 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."
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()
Sustituye ruta_donde_quieras_guardar.docx por la ruta que desees.
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.
9 productos API .NET para sus documentos de oficina