Saltar al pie de página
USANDO IRONXL

automatización de Excel en C#

La automatización de hojas de cálculo de Microsoft Excel en C# permite a los desarrolladores generar, editar y gestionar archivos de Microsoft Excel automáticamente utilizando el poder de la programación para interactuar con el modelo de objeto de Microsoft Excel. Los desarrolladores de C# pueden realizar una amplia gama de actividades, incluyendo la lectura y escritura/adición de datos, el formato de celdas, la creación de gráficos, la producción de informes y la automatización de tareas relacionadas con Microsoft Office Excel, utilizando bibliotecas como Microsoft.Office.Interop.Excel o soluciones de terceros para la automatización de cualquier programa cliente desatendido y no interactivo para ejecutar aplicaciones de Microsoft Office.

La automatización del nuevo objeto libro de Microsoft Excel en C#, Visual Basic o Microsoft Visual C++ ofrece un marco estable y adaptable para gestionar y procesar datos de hojas de Excel con simplicidad y precisión. Permite a los desarrolladores diseñar aplicaciones de Microsoft Office que integran perfectamente las funciones del modelo de objeto de Excel, llevan a cabo procesos impulsados por datos y generan informes dinámicos. En este artículo, vamos a explorar la automatización de Excel en C#.

Cómo utilizar la automatización de Excel en C

  1. Crea un proyecto de Visual Studio.
  2. Instala la biblioteca IronXL.
  3. Inicializa la interfaz del objeto de aplicación de Excel para automatizar Microsoft Excel.
  4. Accede a la hoja de cálculo y manipula los datos utilizando el objeto.
  5. Guarda y cierra el libro. También libera el objeto de recursos.

IronXL

IronXL es una potente biblioteca de .NET destinada a facilitar el trabajo con archivos de Excel en C#, VB.NET y otros lenguajes de .NET. Es compatible con los formatos XLS y XLSX. Esta biblioteca permite a los desarrolladores crear, leer, escribir y manipular hojas de cálculo de Excel de manera más rápida y sencilla. También ofrece una amplia gama de herramientas y características.

Las características y funciones sobresalientes de IronXL comprenden:

  • Manejo de Datos: Con IronXL, leer, escribir y manipular datos en libros de Excel es simple. Puedes acceder a los valores de las celdas usando una matriz bidimensional, agregar fórmulas, dar formato a los datos y realizar cálculos.
  • Creación y Edición de Archivos de Excel: Los desarrolladores pueden agregar, eliminar y gestionar hojas de trabajo además de crear nuevos archivos de Excel y editar los existentes.
  • Compatibilidad Multiplataforma: IronXL se puede usar en una variedad de contextos de aplicación y es compatible con varias plataformas .NET, como Xamarin, .NET Core y .NET Framework.
  • Versatilidad y Compatibilidad: Es compatible con varias versiones de Excel y admite tanto los formatos de Excel antiguos como los más recientes.
  • Soporte para Formatos de Excel Legados y Modernos: Puede satisfacer una variedad de necesidades de formato de archivo al admitir tanto los formatos clásicos de archivo de Excel (XLS, que data de Excel 97–2003) como las formas más recientes basadas en XML (XLSX, que data de Excel 2007).
  • Utilidad: La biblioteca simplifica las tareas relacionadas con Excel, haciéndola accesible a desarrolladores con diferentes niveles de experiencia al proporcionar una API fácil de entender con propiedades y métodos claros.
  • Exportación y Extracción de Datos: IronXL facilita la exportación de datos de Excel a una variedad de formatos y la extracción de datos de archivos Excel, permitiendo una interacción sin inconvenientes con bases de datos u otros sistemas.
  • Documentación y Soporte: Para ayudar a los desarrolladores a usar la biblioteca de IronXL para sus actividades relacionadas con Excel, la empresa proporciona documentación extensa, tutoriales y soporte.
  • Automatización y Eficiencia: IronXL mejora la productividad, reduce el trabajo manual y ayuda a crear aplicaciones impulsadas por datos al automatizar tareas de Excel.
  • Integración y Personalización: Ofrece opciones para exportar datos de Excel a numerosos formatos y facilita la producción de informes personalizados o soluciones impulsadas por datos. También se integra bien con bases de datos y otros sistemas.

IronXL se utiliza en varios dominios, incluyendo finanzas, análisis de datos, generación de informes, inteligencia empresarial y desarrollo de software. Permite a los desarrolladores manipular archivos de Excel mediante programación y crear soluciones fiables que incorporen la manipulación de datos y la integración de Excel. Consulta aquí para más información.

Crear un nuevo proyecto en Visual Studio

Haz clic en "Archivo" en el menú de Visual Studio para iniciar la aplicación. Elige "Nuevo proyecto" y luego selecciona "Aplicación de Formularios Windows".

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 1 - Nuevo Proyecto

Después de elegir la ubicación del archivo, escribe el nombre del archivo del proyecto en el campo de texto designado. Posteriormente, selecciona el .NET Framework requerido y haz clic en el botón "Crear", como se muestra en el ejemplo a continuación.

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 2 - Configuración del Proyecto

La estructura del proyecto de Visual Studio dependerá luego del tipo de aplicación seleccionada. Puedes construir o ejecutar la aplicación usando la Consola, Windows o la aplicación online para agregar código. Puedes agregar lógica de entrada al archivo Program.cs.

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 3 - Framework

La biblioteca puede luego ser añadida y el código probado.

Instalación de la biblioteca IronXL

Para usar la biblioteca IronXL, abre la Consola del Administrador de Paquetes NuGet y escribe el siguiente comando para instalarla:

Install-Package IronXL.Excel

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 4 - Instalar IronXL

Otra opción es buscar el paquete "IronXL" usando el Administrador de Paquetes NuGet. Puedes elegir de una lista de todos los paquetes NuGet relacionados con IronXL cuál necesita ser descargado.

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 5 - IronXL.Excel

Automatización de Excel con IronXL

A continuación, se muestra un ejemplo que ilustra el uso de IronXL en C# para una simple automatización de Excel. Aquí hay un ejemplo de cómo crear un nuevo archivo de Excel, rellenar las celdas y luego guardar el libro.

using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
using IronXL;

class Program
{
    static void Main(string[] args)
    {
        // Create a new Excel workbook
        WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

        // Create a new worksheet in the workbook
        WorkSheet sheet = workbook.CreateWorkSheet("output");

        // Set values in cells
        sheet["A1"].Value = "Hello";
        sheet["B1"].Value = "World";

        // Save the workbook to a specific file path
        string filePath = @"output.xlsx";
        workbook.SaveAs(filePath);

        Console.WriteLine("File created and saved successfully.");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new Excel workbook
		Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)

		' Create a new worksheet in the workbook
		Dim sheet As WorkSheet = workbook.CreateWorkSheet("output")

		' Set values in cells
		sheet("A1").Value = "Hello"
		sheet("B1").Value = "World"

		' Save the workbook to a specific file path
		Dim filePath As String = "output.xlsx"
		workbook.SaveAs(filePath)

		Console.WriteLine("File created and saved successfully.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Este código demuestra la automatización de Excel con IronXL en un ejemplo sencillo:

  1. Creación de un Nuevo Libro de Excel: Se crea un nuevo libro de Excel en formato XLSX usando WorkBook.Create(ExcelFileFormat.XLSX).
  2. Acceso a una Hoja de Cálculo: CreateWorkSheet("output") añade una hoja de cálculo llamada "output" al libro.
  3. Establecimiento de Valores de Celdas: A las celdas A1 y B1 se les asignan los valores "Hello" y "World", respectivamente.
  4. Guardando el Libro: El libro se guarda en una ruta de archivo especificada usando SaveAs(filePath).

Operaciones adicionales

  • Manipulación de Datos: Utiliza diferentes técnicas de manipulación de datos como filtrado, ordenación y fusión de celdas.
  • Gráficos y Diagramas: Crea gráficos y diagramas usando datos de Excel.
  • Integración y Exportación de Datos: Integra datos de Excel con bases de datos y expórtalos a varios formatos.

Automatización de Excel en C# (Tutorial para Desarrolladores): Figura 6 - Salida

Los desarrolladores pueden automatizar procesos de Excel, modificar datos, formatear celdas y realizar una variedad de otras acciones mediante programación en C# utilizando la amplia colección de funciones de IronXL para trabajar con archivos de Excel. Modificar estas acciones para ajustarse a las demandas de su caso de uso particular. IronXL permite una automatización confiable de Excel manejando excepciones y asegurando una gestión adecuada de los recursos. Para aprender más sobre el código consulta aquí.

Conclusión

Muchas industrias, incluidas finanzas, investigación de datos, generación de informes y desarrollo de software, utilizan extensamente la biblioteca de objetos de Excel de IronXL. Es una herramienta vital para empresas y desarrolladores que buscan optimizar las actividades relacionadas con Excel, facilitando la creación de aplicaciones dinámicas y centradas en datos que manejan archivos de Excel de forma programática y eficiente.

En resumen, IronXL simplifica la automatización de Excel en C# y proporciona una solución confiable y rica en funciones para gestionar programáticamente archivos de Excel, permitiendo una manipulación efectiva de datos y aumentando la productividad en aplicaciones .NET. IronXL ofrece una edición Comunitaria gratuita con restricciones para uso no comercial. Las versiones de pago proporcionan mejores características, soporte y capacidad completa a partir de $liteLicense, disponibles a través de modelos de licencias basados en suscripción o perpetuos. Para detalles completos y actualizados sobre las licencias, visita el sitio web oficial de IronXL. Ve aquí para obtener más detalles sobre los productos de Iron Software.

Preguntas Frecuentes

¿Cómo automatizo tareas de Microsoft Excel en C# sin usar Interop?

Puedes automatizar tareas de Microsoft Excel en C# sin usar Interop aprovechando la biblioteca IronXL. Permite crear, leer y manipular archivos de Excel directamente en C# sin la necesidad de Microsoft.Office.Interop.Excel, haciendo el proceso más eficiente.

¿Cuáles son los beneficios de usar IronXL para la automatización de Excel?

IronXL ofrece una API fácil de usar que simplifica las tareas de automatización de Excel como el manejo de datos, creación de archivos, edición y soporte para formatos XLS y XLSX. Elimina la necesidad de Interop, proporcionando un enfoque eficiente y simplificado para la automatización de Excel.

¿Puedo realizar manipulación de datos en Excel usando C#?

Sí, utilizando IronXL, puedes realizar varias tareas de manipulación de datos en Excel usando C#. Esto incluye el filtrado, ordenamiento y fusión de datos, así como la creación de gráficos e imágenes.

¿Cómo puedo comenzar con IronXL en un proyecto de Visual Studio?

Para comenzar con IronXL en un proyecto de Visual Studio, necesitas instalar el paquete de IronXL vía NuGet, crear un nuevo proyecto y luego usar la API de IronXL para interactuar con archivos de Excel. La biblioteca proporciona documentación extensa y ejemplos para ayudarte en el proceso.

¿Es IronXL adecuado para el desarrollo multiplataforma?

Sí, IronXL es adecuado para el desarrollo multiplataforma. Es compatible con .NET Core, lo que te permite desarrollar aplicaciones que pueden ejecutarse en varios sistemas operativos, incluyendo Windows, macOS y Linux.

¿Cuáles son las diferentes opciones de licencia disponibles para IronXL?

IronXL ofrece una edición comunitaria gratuita adecuada para uso no comercial con algunas limitaciones. Para uso comercial, hay versiones pagadas a partir de $749, que proporcionan características adicionales y soporte, disponibles a través de suscripción o licencia perpetua.

¿Cómo maneja IronXL los formatos de archivos de Excel?

IronXL soporta tanto el formato XLS antiguo como el moderno formato XLSX, permitiendo a los desarrolladores trabajar con diferentes versiones de archivos de Excel sin inconvenientes. Esto asegura compatibilidad con una amplia gama de documentos de Excel.

¿Qué industrias pueden beneficiarse del uso de IronXL?

Industrias como finanzas, análisis de datos, inteligencia de negocio y desarrollo de software pueden beneficiarse del uso de IronXL para una automatización eficiente de Excel, facilitando el desarrollo de aplicaciones dinámicas impulsadas por datos y optimizando actividades relacionadas con Excel.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más