USO DE IRONWORD

Cómo leer un archivo de Word con C#

Actualizado 24 de diciembre, 2023
Compartir:

Introducción

Microsoft Word fue desarrollado por Microsoft como procesador de textos. Salió a la venta por primera vez el 25 de octubre de 1983 para sistemas Xenix con el nombre de Multi-Tool Word. Las versiones posteriores se escribieron para diversas plataformas, como los PC IBM con DOS. (1983)Apple Macintosh con macOS clásico (1985)AT&T UNIX PC (1985)Atari ST (1988)OS/2 (1989)Microsoft Windows (1989)SCO Unix (1990)macOS (2001)Navegadores web (2010)iOS (2014)y Android (2015). En Linux, las versiones anteriores de MS Word pueden funcionar con Wine.

Word se licencia en ediciones comerciales como aplicación independiente o como componente del programa Paquete de software Microsoft 365 que puede adquirirse con una licencia perpetua o como parte de una suscripción a Microsoft 365. En este artículo, usaremos C# para leer un documento Word usando ensamblados Microsoft Interop y Cómo IronXL puede ayudarnos a leer hojas Excel.

Cómo leer un archivo Word utilizando C#

  1. Cree un nuevo proyecto de Visual Studio.
  2. Instale la biblioteca necesaria para leer documentos Word.
  3. Crea un nuevo archivo y cárgalo en el objeto.
  4. Procesar y leer documentos Word.
  5. Elimina todos los objetos creados.

¿Qué es Interop?

Office Interoperability para MS Word permite crear o abrir un nuevo documento (DOC, DOCX y RTF) desde programas C# o VB.NET. Pero en los proyectos tiene muchas desventajas.

En este artículo trataremos los problemas más comunes que pueden surgir al utilizar Interoperabilidad con Microsoft Office (Automatización de palabras) desde C# o VB.NET.

Algunos ejemplos son:

  • Todos los ordenadores cliente utilizados para la automatización de textos deben tener una licencia de Microsoft Word.
  • Debe instalarse una versión idéntica de MS Word en el ordenador de cada cliente.
  • Cuando se utiliza la automatización, Word carga varios archivos y DLL en segundo plano, utilizando unos pocos MB.
  • Se utiliza un objeto COM para acceder a la API de MS Word. Llamar a cualquier objeto COM desde el código gestionado tiene los mismos inconvenientes que éste (conversiones de tipos, necesidad de envoltorios COM, escasa integración con .NET Framework, etc.).

Creación de un nuevo proyecto en Visual Studio

Para utilizar la biblioteca Interop es necesario abrir Visual Studio e iniciar un proyecto .NET. Aunque se recomienda la versión más reciente, Visual Studio puede utilizarse con cualquier versión. Puede crear una aplicación similar a Windows Forms o una plantilla de proyecto basada en sus necesidades. Para simplificar, utilizaré la aplicación de consola en este caso.

Para ello, abra Visual Studio, vaya al menú "Archivo" y seleccione "Nuevo proyecto". De las distintas plantillas de proyecto ..NET, elija la "Aplicación de consola".

Cómo Leer un Archivo Word Usando C#: Figura 1 - Creación de un Nuevo Proyecto VS en la Consola

A continuación, introduzca el nombre y la ubicación del proyecto.

Cómo leer un archivo Word usando C#: Figura 2 - Configurar los detalles del proyecto

La selección de un .NET Framework puede hacerse a través de la opción desplegable Framework. Para este proyecto se utilizará Dot.NET Framework 4.7. El siguiente paso es pulsar el botón "Crear".

Al abrir el archivo Program.cs, puede insertar el código y construir o ejecutar el programa después de que la aplicación haya generado la solución.

Cómo Leer un Archivo Word Usando C#: Figura 3 - Abrir el archivo Program.cs

Podemos probar el código ahora que la librería Microsoft.Office.Interop.Word ha sido añadida.

La instalación de la biblioteca Interop es necesaria para la próxima reparación. Para ello, escriba el siguiente comando en la consola de NuGet Package Manager:

Install-Package Microsoft.Office.Interop.Word

Cómo leer un archivo de Word usando C#: Figura 4 - Instalación de Interop en la consola NuGet

También podemos utilizar el gestor de paquetes NuGet para buscar el paquete "Interop". Después de localizar toda la lista de paquetes NuGet asociados a Interop, puede elegir el paquete concreto que debe descargarse.

Cómo Leer un Archivo Word Usando C#: Figura 5 - Instalando el Paquete `Microsoft.Office.Interop.Word` mediante Navegación

Creación de un documento Word con Interop

Se debe crear una instancia de Microsoft.Office.Interop.Word.Application para utilizar MS Word. Esta instancia se utilizaría para la comunicación de documentos Word. Como se muestra en el siguiente fragmento de código C#, el siguiente paso es construir una instancia de documento utilizando la propiedad Documents de la instancia Microsoft.Office.Interop.Word.Application que acabamos de crear

using System.Data;
using Microsoft.Office.Interop.Word;
using System;
using System.Runtime.InteropServices;
    internal class Program
    {
        static void Main(string [] args)
        {
            try
            {
                Microsoft.Office.Interop.Word.Application
                wordApplication = new Microsoft.Office.Interop.Word.Application();
                Document doc = wordApplication.Documents.Add();
                var paragraph = doc.Paragraphs.Add();
                paragraph.Range.Text = "Hello World";
                wordApplication.ActiveDocument.SaveAs("D:\\demo.doc", WdSaveFormat.wdFormatDocument);
                doc.Close();
                wordApplication.Quit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
    }
   }
using System.Data;
using Microsoft.Office.Interop.Word;
using System;
using System.Runtime.InteropServices;
    internal class Program
    {
        static void Main(string [] args)
        {
            try
            {
                Microsoft.Office.Interop.Word.Application
                wordApplication = new Microsoft.Office.Interop.Word.Application();
                Document doc = wordApplication.Documents.Add();
                var paragraph = doc.Paragraphs.Add();
                paragraph.Range.Text = "Hello World";
                wordApplication.ActiveDocument.SaveAs("D:\\demo.doc", WdSaveFormat.wdFormatDocument);
                doc.Close();
                wordApplication.Quit();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
    }
   }
Imports System.Data
Imports Microsoft.Office.Interop.Word
Imports System
Imports System.Runtime.InteropServices
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Try
				Dim wordApplication As New Microsoft.Office.Interop.Word.Application()
				Dim doc As Document = wordApplication.Documents.Add()
				Dim paragraph = doc.Paragraphs.Add()
				paragraph.Range.Text = "Hello World"
				wordApplication.ActiveDocument.SaveAs("D:\demo.doc", WdSaveFormat.wdFormatDocument)
				doc.Close()
				wordApplication.Quit()
			Catch ex As Exception
				Console.WriteLine(ex.ToString())
			End Try
		End Sub
	End Class
VB   C#

En el código anterior En primer lugar, estamos creando un objeto para la aplicación Interop word. A continuación, utilizando el objeto, añadimos el documento con el método correspondiente. A continuación, elaboramos un párrafo con el método correspondiente disponible en el objeto documento.

Ahora podemos añadir texto al párrafo y guardar el documento disponible en el objeto de aplicación pasando el nombre del archivo con la ubicación (ruta `ref) con formato de archivo DOC o DOCX y pasando el tipo de archivo Word como segundo parámetro. También podemos leer archivos Word utilizando la biblioteca Interop. También admite varios tipos de formatos, como DOCX, DOT, RTF, etc.

Biblioteca IronXL Un sustituto de Interop

Una alternativa a Interop para manejar hojas Excel en programas .NET es IronXL. Mientras que Microsoft Office Interop requiere el uso de los ensamblados Interop para conectar con Excel, IronXL proporciona una forma más sencilla, eficaz y potente de manipular proyectos de Excel mediante programación en entornos .NET.

Utilizar IronXL en lugar de MS Interop tiene varias ventajas. Entre ellas se incluyen:

  • Rendimiento y eficiencia de recursos: IronXL hace un uso más eficiente de los recursos y rinde mejor que Interop porque no depende de que la aplicación Excel esté instalada en el PC.
  • Simplicidad y facilidad de uso: IronXL ofrece una API más sencilla que facilita la lectura, escritura y manipulación de un archivo Excel sin las molestias asociadas a MS Interop.
  • Compatibilidad y Dependencia: IronXL no requiere la instalación de Microsoft Excel en el ordenador, por lo que elimina dependencias y problemas de compatibilidad que pudieran surgir con diferentes versiones de Excel u Office.
  • Independencia de la plataforma: IronXL proporciona más flexibilidad y facilidad de despliegue en diversos contextos y plataformas, en contraste con Interop, que podría estar más fuertemente asociado con versiones específicas de Microsoft Office.

    Debido a su velocidad, facilidad de uso y menor dependencia de la instalación de software de terceros, IronXL suele ser una opción superior para los desarrolladores .NET que necesitan trabajar con hojas de Excel mediante programación. Sin embargo, las características específicas del proyecto, la infraestructura existente y el grado de familiaridad del usuario con cada biblioteca pueden influir en la elección entre IronXL y Microsoft Interop. Tenga siempre en cuenta los requisitos de su aplicación a la hora de elegir entre estas soluciones. Para saber más sobre la biblioteca IronXL Excel, consulte el enlace aquí.

Instalación de la biblioteca IronXL

Como la biblioteca IronXL es necesaria para el próximo parche, instálala. Para terminar, abra la consola de NuGet Package Manager y escriba el siguiente comando:

Install-Package IronWord

Cómo Leer un Archivo Word Usando C#: Figura 6 - Instalación del Paquete IronXL desde la Consola NuGet

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.

Cómo Leer un Archivo Word Usando C#: Figura 7 - Instalando el Paquete `IronXL.Excel` desde Browsing

Creación de un documento de Word con IronXL

IronXL es revolucionario para los desarrolladores .NET porque ofrece una forma más eficaz y adaptable de interactuar con Word y Excel que Microsoft Interop. IronXL se distingue porque no requiere que Microsoft Office esté instalado en el ordenador anfitrión y es rápido y fácil de integrar. IronXL resulta ser la opción superior y más eficaz para las aplicaciones modernas que deben interactuar con archivos de Office.

using IronXL;
//lectura de la hoja Excel mediante el método Load
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Visualizar los datos de la celda uno a uno
foreach (var cell in sheet ["A1:B10"])
{
    Console.WriteLine(cell.Text);
}
using IronXL;
//lectura de la hoja Excel mediante el método Load
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
//Visualizar los datos de la celda uno a uno
foreach (var cell in sheet ["A1:B10"])
{
    Console.WriteLine(cell.Text);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Utilizando la ubicación del archivo y el nombre como entradas, el método LoadExcel en el precedente para cargar un archivo de Excel existente. Esto importa el archivo junto con el objeto Workbook. A continuación, cargamos las hojas de cálculo de Excel utilizando Worksheets.first, que nos permite hacerlo seleccionando las primeras hojas de cálculo disponibles. A continuación, se leyó el valor utilizando la dirección de Excel. Para más información sobre la lectura de archivos Excel, haga clic en esta página.

Además, podríamos utilizar la misma URL de Excel para cambiar los valores en la página de Excel. El documento Excel puede guardarse como un archivo XLSX o XLS utilizando la función SaveAs proporcionada por el objeto Workbook. Todo el archivo se guarda en el formato seleccionado durante este proceso.

Conclusión

IronXL es uno de los complementos de Excel más utilizados. Es independiente de cualquier otra biblioteca externa. Al ser autónomo, no es necesario instalar Microsoft Excel. Utiliza varios canales para funcionar. A diferencia de la biblioteca Interop, la biblioteca IronXL no requiere ninguna biblioteca adicional para analizar el archivo.

IronXL es una solución completa para cualquier procedimiento de programación que utilice documentos de MS Excel. Son posibles numerosas operaciones, como cálculos, ordenación de cadenas o números, recorte, adición, búsqueda, sustitución, fusión y separación, y almacenamiento de archivos. Además de validar los datos de la hoja de cálculo, puede crear tipos de datos de celdas de tabla. Facilita el manejo de los datos de Excel y simplifica la lectura y escritura en un archivo.

IronXL cuesta $599. Para obtener actualizaciones de software y asistencia, los usuarios pueden optar por pagar una suscripción de un año. IronXL ofrece seguridad contra la redistribución no autorizada a cambio de una tarifa. Para más información sobre precios, visite. Para más información sobre el producto Iron Software, consulte aquí.

< ANTERIOR
3 Bibliotecas C# Word (Lista actualizada para desarrolladores)
SIGUIENTE >
Cómo manipular un documento de Word usando C#

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

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