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
Microsoft creó Word para que sirviera de procesador de textos. Inicialmente disponible bajo el nombre de Multi-Tool Word para sistemas Xenix, fue presentado el 25 de octubre de 1983. Versiones posteriores se desarrollaron para una amplia gama de sistemas operativos, como SCO Unix (1990), Microsoft Windows (1989), Atari ST (1988), OS/2 (1989), AT&T UNIX PC (1985), PCs IBM con DOS (1983), Apple Macintosh con macOS Classic (1985), macOS (2001), navegadores web (2010), iOS (2014) y Android (2015). Wine puede utilizarse para ejecutar versiones anteriores de Microsoft Word en Linux.
Las versiones comerciales de Word se pueden licenciar como una aplicación independiente o como un componente de Microsoft 365, que se puede adquirir con una licencia perpetua o como parte de una suscripción a Microsoft 365. En este artículo, manipularemos documentos Word usando C# con la ayuda de los ensamblados Microsoft Interop y exploraremos cómo IronXL nos ayuda a Editar documentos Excel.
Crea un nuevo proyecto de Visual Studio.
Configure la biblioteca necesaria para leer documentos Word.
Para manipular un documento Word, cargue un archivo existente o cree uno nuevo.
Edite los datos del documento y analice el archivo.
Los programas escritos en C# o VB.NET pueden crear o abrir documentos de Word (DOC, DOCX y RTF) con la Interoperabilidad de Office para Microsoft Word. Sin embargo, tiene muchos inconvenientes cuando se utiliza en proyectos.
En este artículo, discutiremos los problemas frecuentes que pueden surgir al utilizar Microsoft Office Interop (Automatización de Word) desde C# o VB.NET.
Por ejemplo:
Es necesario iniciar Visual Studio y crear un proyecto .NET antes de utilizar la biblioteca Interop. Visual Studio es compatible con cualquier versión, aunque se aconseja la más reciente. Dependiendo de sus necesidades, puede desarrollar una plantilla de proyecto o una aplicación que se asemeje a Windows Forms. En este caso utilizaré la aplicación de consola para simplificar.
A continuación, indique la ubicación y el nombre del proyecto.
Usando el menú desplegable del Framework, puedes elegir un .NET Framework. Para este proyecto se utilizará Dot.NET Framework 4.7. La siguiente acción es pulsar el botón "Crear".
Una vez que la aplicación ha generado la solución, puede introducir el código y construir o ejecutar el programa accediendo al archivo Program.cs.
Ahora que la biblioteca Microsoft.Office.Interop.Word
ha sido añadida, podemos probar el código.
La siguiente reparación requiere la instalación de la biblioteca Interop. Para ello, introduzca el siguiente comando en la consola del gestor de paquetes NuGet:
:InstallCmd: Install-Package Microsoft.Office.Interop.Word
Otra forma de encontrar el paquete "Interop" es utilizar el gestor de paquetes NuGet. Entre todos los paquetes NuGet relacionados con Interop, podemos seleccionar el paquete necesario para descargar de esta lista.
Una vez que haya instalado todas las bibliotecas necesarias, podrá empezar a editar archivos DOCX.
Para usar Microsoft Word, primero debes crear una instancia de Microsoft.Office.Interop.Word.Application
. En este caso, la comunicación se realizaría mediante documentos Word. El siguiente paso es crear una nueva instancia de documento de Word utilizando la propiedad Documents
de la instancia Microsoft.Office.Interop.Word.Application
que acabamos de crear. Como se ve en el siguiente fragmento de código C#, esto nos permite manipular documentos de Word mediante programación
using System;
using System.Data;
using Microsoft.Office.Interop.Word;
try
{
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
WordDoc.Paragraphs [1].Range.Text = "New text here...";
WordDoc.SaveAs(@"d:/NewDemo.docx");
WordDoc.Close();
WordApp.Quit();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
using System;
using System.Data;
using Microsoft.Office.Interop.Word;
try
{
var WordApp = new Microsoft.Office.Interop.Word.Application();
var WordDoc = WordApp.Documents.Open(@"d:/Demo.docx");
WordDoc.Paragraphs [1].Range.Text = "New text here...";
WordDoc.SaveAs(@"d:/NewDemo.docx");
WordDoc.Close();
WordApp.Quit();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Imports System
Imports System.Data
Imports Microsoft.Office.Interop.Word
Try
Dim WordApp = New Microsoft.Office.Interop.Word.Application()
Dim WordDoc = WordApp.Documents.Open("d:/Demo.docx")
WordDoc.Paragraphs (1).Range.Text = "New text here..."
WordDoc.SaveAs("d:/NewDemo.docx")
WordDoc.Close()
WordApp.Quit()
Catch ex As Exception
Console.WriteLine(ex.ToString())
End Try
En el código anterior, podemos editar el documento de Word en C#. En primer lugar, vamos a crear un objeto item para el procesador de textos que utiliza Interop. Con la ayuda del objeto creado que tiene un método open nos permite pasar el nombre del archivo Word existente. Nos ayuda a convertir el fichero en un objeto documento.
Utilizando el objeto documento podemos obtener todos los procesos disponibles relacionados con el documento Word existente. A continuación, utilizando el objeto párrafos obtenemos todo el contenido disponible en los archivos DOCX. Usando el array podemos reemplazar el texto de cada párrafo con los párrafos específicos pasándolos en el array. A continuación, podemos guardarlos en nuevos documentos MS Word como archivo DOCX. También podemos crear documentos Word utilizando Interop.
IronXL es una alternativa a Microsoft Interop que puede ser utilizada en programas .NET para manejar archivos Excel. Mientras que Microsoft Interop requiere interactuar con Excel a través de los ensamblados Interop, IronXL ofrece un método más directo, eficaz y potente para manipular mediante programación archivos Excel en contextos .NET.
Utilizar IronXL en lugar de Microsoft Interop tiene varias ventajas, como:
Independencia de la plataforma: A diferencia de Microsoft Interop, que puede estar más estrechamente asociado a versiones concretas de Microsoft Office, IronXL ofrece una mayor flexibilidad y facilidad de implantación en diversos entornos y plataformas.
Para los desarrolladores .NET que deben trabajar con archivos Excel mediante programación, IronXL suele ser la mejor opción por su facilidad de uso, velocidad y menor dependencia de instalaciones de software de terceros. Sin embargo, la decisión entre IronXL y Microsoft Interop podría verse influida por las particularidades del proyecto, la infraestructura ya existente y el nivel de experiencia del usuario con cada biblioteca.
Al decidir entre estas opciones, tenga siempre presentes los requisitos de su aplicación. Consulta este enlace para obtener más información sobre la biblioteca IronXL.
Dado que la biblioteca IronXL es necesaria para el próximo parche, instálala. Para ello, abra la consola de NuGet Package Manager y escriba el siguiente comando:
Install-Package IronWord
Otra opción es buscar el paquete "IronXL" a través del gestor de paquetes NuGet. De esta lista de cada paquete NuGet vinculado a IronXL, podemos seleccionar el que necesitamos descargar.
Los datos pueden exportarse a los formatos.XLSX o.XLS con sólo unas líneas de código. El siguiente ejemplo de código fuente muestra cómo se pueden exportar datos de un archivo Excel a un formato de tabla tabular simple:
var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
WorkSheet ws = workbook.GetWorkSheet("Sheet1");
string address_val = ws ["A1"].ToString();
console.writeline(address_val);
ws ["A2"].Value = "Hello World";
workbook.SaveAs("export.xlsx");
//or
workbook.SaveAs("export.xls");
//or
workbook.WorkSheets [0].SaveAs("export.xls");
var workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx");
WorkSheet ws = workbook.GetWorkSheet("Sheet1");
string address_val = ws ["A1"].ToString();
console.writeline(address_val);
ws ["A2"].Value = "Hello World";
workbook.SaveAs("export.xlsx");
//or
workbook.SaveAs("export.xls");
//or
workbook.WorkSheets [0].SaveAs("export.xls");
Dim workbook = IronXL.WorkBook.LoadExcel("Demo file.xlsx")
Dim ws As WorkSheet = workbook.GetWorkSheet("Sheet1")
Dim address_val As String = ws ("A1").ToString()
console.writeline(address_val)
ws ("A2").Value = "Hello World"
workbook.SaveAs("export.xlsx")
'or
workbook.SaveAs("export.xls")
'or
workbook.WorkSheets (0).SaveAs("export.xls")
El ejemplo anterior carga un archivo Excel que ya existe llamando a la función LoadExcel
, que toma un argumento para la ruta y el nombre del archivo. La importación del archivo en el objeto Workbook
ya está completa. Los hojas de cálculo de Excel se cargan luego con la ayuda de GetWorkSheet
, lo que nos permite cargar la hoja utilizando el nombre de la hoja. A continuación, se utilizaba la dirección de Excel para leer el valor. Para saber más sobre cómo leer archivos de Excel, haga clic aquí.
Podemos alterar los valores de la hoja de Excel utilizando la misma URL de Excel. El documento de Excel se puede guardar como un archivo XLSX o XLS utilizando la función SaveAs
que ofrece el objeto 'Workbook'. Con este proceso, todo el archivo se guarda en el formato elegido.
Además, podemos elegir una determinada hoja de cálculo de Excel utilizando su valor de índice o haciendo referencia a ella por su nombre. A continuación, podemos exportar los datos de la hoja de cálculo de Excel a un archivo diferente utilizando la opción SaveAs
. Haga clic en este enlace para obtener más información sobre cómo dar formato y exportar archivos de Excel.
Uno de los complementos más populares para Excel es IronXL. No depende de ninguna biblioteca externa adicional. No es necesario instalar Microsoft Excel porque es autónomo. Opera a través de multitud de canales. Esto contrasta con la biblioteca Interop, que tiene que analizar el archivo utilizando bibliotecas adicionales para editar documentos Word.
IronXL es una solución completa para cualquier proceso de programación que utilice documentos de Microsoft Excel. Cálculos, ordenación de cadenas o números, poda, adición, búsqueda y sustitución, fusión y separación, y almacenamiento de archivos son sólo algunas de las muchas operaciones disponibles. No sólo se pueden validar los datos de las hojas de cálculo, sino que también se pueden construir nuevas formas de datos de celdas. Facilita la lectura y escritura de archivos, así como el manejo de datos de Excel.
Cuando IronXL fue lanzado por primera vez, costaba $749. Como alternativa, los clientes pueden optar por pagar una cuota de suscripción de un año para recibir actualizaciones de software y asistencia. IronXL ofrece seguridad contra la redistribución no autorizada, previo pago. Vaya a la página de licencias de IronXL. Para saber más sobre los productos de Iron Software, consulte aquí.