Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Microsoft creó Word para que sirviera de procesador de textos. Inicialmente disponible con el nombre de Multi-Tool Word para sistemas Xenix, se presentó el 25 de octubre de 1983. Posteriormente se desarrollaron versiones 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)PC IBM con DOS (1983)Apple Macintosh con macOS clásico (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 pueden licenciarse como aplicación independiente o como componente de Microsoft 365que puede adquirirse como 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.
Los programas escritos en C# o VB.NET pueden crear o abrir documentos de Word (DOC, DOCX y RTF) con Office Interoperabilidad para Microsoft Word. Sin embargo, tiene muchos inconvenientes cuando se utiliza en proyectos.
Hablaremos de los problemas frecuentes que puede encontrar al utilizar Microsoft Office Interop (Automatización de palabras) de C# o VB.NET en este artículo.
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.
Mediante el menú desplegable Marco, puede 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 librería 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 utilizar Microsoft Word, primero debe 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 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 utilizarse 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. Visite 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 como argumento la ruta y el nombre del archivo. La importación del archivo en el objeto Libro de trabajo
ha finalizado. Las hojas de trabajo de Excel se cargan con la ayuda de GetWorkSheet
, que nos permite cargar la hoja de trabajo 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 la lectura de archivos Excel, haga clic en aquí.
Podemos alterar los valores de la hoja de Excel utilizando la misma URL de Excel. El documento Excel puede guardarse 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 Excel a un archivo diferente utilizando la opción SaveAs
. Haga clic aquí enlace para obtener más información sobre el formateo y la exportación de archivos 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 $599. 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. Ir a la concesión de licencias IronXL página. Para saber más sobre los productos de Iron Software, consulte aquí.
9 productos API .NET para sus documentos de oficina