USO DE IRONXL

Datatable to Excel in C# (Tutorial de ejemplo de código)

Actualizado 26 de junio, 2022
Compartir:

Puede ser difícil modificar mediante programación una hoja de cálculo Excel, por dos razones principales. En primer lugar, al trabajar con hojas de cálculo, los usuarios deben mantener una interfaz y una estructura de documentos coherentes, lo que no siempre es sencillo. En segundo lugar, no siempre está claro qué código funcionará en situaciones concretas, sobre todo cuando se trata de cálculos sofisticados. Existen numerosas razones por las que resulta difícil crear un archivo Excel mediante programación. Los programadores deben transformar primero los datos del documento Excel en un formato legible y, a continuación, analizarlos y volver a analizarlos, lo que resulta aún más difícil. He encontrado una solución a este problema. Te enseñaré como hacer un archivo Excel y exportar programáticamente un Datatable a una hoja Excel sin ningún problema usando la librería IronXL .NET Excel. Empecemos:

Características de IronXL

  • IronXL funciona en diversos sistemas operativos, incluido Windows, Linux y macOS.
  • Casi todos los marcos .NET son compatibles con IronXL, incluyendo la consola, la aplicación de formularios de Windows, y Aplicación web.
  • IronXL hace que la lectura de archivos Excel sea sencilla y fácil.
  • Podemos cargar, editar, exportar tablas de datos exportar conjuntos de datos y leer formatos de archivo Excel como archivos XLSX, XLS, CSV, TSV, XLST, XLSM, etc. con IronXL.
  • IronXL nos permite guardar y exportar archivos con diversas extensiones, como XLS, CSV, TSV, JSON y XLSX, entre otras.
  • Fórmulas Excel puede ser creado por IronXL.
  • Texto, Números, Fórmulas, Fechas, Moneda, Porcentajes y otros Formatos de datos de celdas de Excel son compatibles con IronXL.
  • También proporciona numerosos opciones de clasificación como Rango, Columnas y Filas, entre otros.
  • El estilo celular en IronXL incluye fuente tamaño, patrón de fondo, borde y alineación, entre otros.
  • Podemos leer y exportar datos desde un archivo Excel utilizando IronXL.
  • IronXL no requiere que Excel o Interop estén instalados en su servidor. La API IronXL es más rápida y fácil de usar que Microsoft Office, Interop y Excel.

1 Creación de un nuevo proyecto en Visual Studio

Para utilizar la biblioteca IronXL, debemos crear un proyecto .NET en Visual Studio. Puede utilizar cualquier versión de Visual Studio, pero se recomienda la última versión. Puede crear una aplicación como Windows Forms o diferentes plantillas de proyecto, en función de sus necesidades. Utilizaré la Aplicación de Consola para este tutorial, por simplicidad.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 1: Crear un nuevo proyecto UI en Visual Studio

Crear una nueva interfaz de usuario de proyecto en Visual Studio

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

How to Export Huge Data From Datatable to Excel in C#, Figura 2: Paso de configuración en la creación de un nuevo proyecto

Paso de configuración en la creación de un nuevo proyecto

A continuación, seleccione el marco siguiente. En este proyecto, vamos a utilizar .NET Core 6.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 3: .Net Framework selection UI

**Selección de la interfaz de usuario de .Net Framework

Una vez que la Aplicación crea la solución, abrirá el archivo program.cs donde puede introducir el código y construir/ejecutar la aplicación.

How to Export Huge Data From Datatable to Excel in C#, Figura 4: Archivo program.cs vacío en el nuevo proyecto

Archivo program.cs vacío en el nuevo proyecto

A continuación, podemos añadir la biblioteca para probar el código.

2 Instalación de la biblioteca IronXL

La biblioteca IronXL puede descargarse e instalarse de cuatro formas.

Estos son:

  • Uso de Visual Studio
  • Uso de la línea de comandos de Visual Studio.
  • Descarga directa desde el sitio web de NuGet.
  • Descarga directa desde el sitio web de IronXL.

2.1 Utilización de Visual Studio

Podemos instalar la librería IronXL utilizando NuGet Package Manager. Primero debe abrir el gestor de paquetes NuGet y, a continuación, buscar IronXL en la pestaña Examinar. Selecciona IronXL de los resultados de búsqueda e instálalo. Después de eso, nuestro proyecto estará listo para su uso en la biblioteca IronXL.

La siguiente captura de pantalla muestra cómo podemos abrir el gestor de paquetes NuGet en Visual Studio.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 5: Navegar al Gestor de Paquetes NuGet en Visual Studio

Navegue hasta el gestor de paquetes NuGet en Visual Studio.

IronXL en los resultados de búsqueda:

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 6: Búsqueda de la librería IronXL

Busca la biblioteca IronXL

2.2 Uso de la línea de comandos de Visual Studio

A mucha gente le encanta utilizar una Consola para realizar operaciones. Así que también podemos instalarlo por Consola. Siga los siguientes pasos para instalar IronXL mediante la línea de comandos.

  • En Visual Studio, vaya a Herramientas-> Administrador de paquetes NuGet -> Consola del administrador de paquetes.
  • Introduzca la siguiente línea en la pestaña Consola del gestor de paquetes:
Install-Package IronXL.Excel

Ahora el paquete se descargará/instalará en el proyecto actual y estará listo para su uso.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 7: Instalar el paquete IronXL vía Consola

Instalar el paquete IronXL a través de la consola

2.3 Descarga directa desde el sitio web de NuGet

La tercera forma es descargar el paquete NuGet directamente del sitio web.

  • Navegue hasta el Página oficial del paquete IronXL de Nuget.
  • Seleccione la opción de descarga de paquetes en el menú de la derecha.
  • Haga doble clic en el paquete descargado. Se instalará automáticamente.
  • A continuación, vuelva a cargar la solución y empiece a utilizarla en el proyecto.

2.4 Descarga directa desde el sitio web de IronXL

Haga clic en el enlace para descargar el último paquete directamente desde el sitio web. Una vez descargado, siga los pasos que se indican a continuación para añadir el paquete al proyecto.

  • Haga clic con el botón derecho del ratón en el proyecto de la ventana de la solución.
  • A continuación, seleccione las opciones de referencia y busque la ubicación de la referencia descargada.
  • A continuación, haga clic en Aceptar para añadir la referencia.

3 Exportar tabla de datos a Excel con IronXL

IronXL nos permite exportar tablas de datos a archivos Excel fácilmente con un número limitado de pasos.

En primer lugar, tenemos que incluir el espacio de nombres de IronXL como en la captura de pantalla de código a continuación. Una vez añadido, podemos utilizar las clases y métodos IronXL en nuestro código.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 8: Incluir namespace de IronXL antes de usar la librería

Incluir namespace de IronXL antes de usar la librería

IronXL nos permite crear archivos de Excel y convertirlos en objetos de libro. Tras convertirlos en objetos, podemos realizar varios tipos de operaciones. En el siguiente código de ejemplo, convertiremos un Datatable en una hoja de cálculo Excel, y entonces podremos crear un archivo Excel.

public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
public static void ExportToExcel(string filePath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animal", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Cat");
    table.Rows.Add("Goat");
    table.Rows.Add("Panther");
    table.Rows.Add("Fox");
    table.Rows.Add("Cheetah");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws ["A" + (rowCount)].Value = row [0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv(filePath, ";");
}
Public Shared Sub ExportToExcel(ByVal filePath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animal", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Cat")
	table.Rows.Add("Goat")
	table.Rows.Add("Panther")
	table.Rows.Add("Fox")
	table.Rows.Add("Cheetah")
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim ws As WorkSheet = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		ws ("A" & (rowCount)).Value = row (0).ToString()
		rowCount += 1
	Next row
	wb.SaveAsCsv(filePath, ";")
End Sub
VB   C#

En el código anterior, estamos exportando la tabla de datos a un archivo de Excel. En primer lugar, estamos creando un DataTable, y luego estamos creando encabezados de columna. Después de crear las columnas, las añadimos una a una. Una vez añadida la columna, creamos el archivo Libro de trabajo objeto. Utilizando el objeto, podemos añadir los datos a la hoja Excel, y luego podemos guardar los datos en la ubicación. Estamos creando el Hoja de trabajo que permite crear una hoja de trabajo, y luego podemos añadirla al objeto WorkBook.

Estamos utilizando el bucle foreach para leer los valores de la tabla de datos uno a uno y luego añadimos el valor a la hoja de cálculo. Una vez añadidos todos los valores a la hoja de cálculo, los guardamos en un archivo CSV utilizando el método llamado SaveAsCSV - necesitamos pasar el delimitador y el nombre del archivo con la ubicación como parámetro. Un delimitador es un parámetro opcional que podemos ignorar si no es necesario.

Cómo Exportar Grandes Datos de Datatable a Excel en C#, Figura 9: El código completado en Visual Studio

**El código completo en Visual Studio

Lo anterior es la captura de pantalla completa del código que estamos utilizando en el .NET core 6.

Resultado:

How to Export Huge Data From Datatable to Excel in C#, Figura 10: Resultado al abrir el archivo en Microsoft Excel

El resultado al abrir el archivo en Microsoft Excel.

Arriba está el resultado del ejemplo de código ejecutado. En la captura de pantalla, todos los datos disponibles en la tabla de datos se han añadido uno a uno a la hoja Excel recién creada.

4 Conclusiones

IronXL es una de las bibliotecas de Excel más utilizadas. No depende de ninguna otra biblioteca de terceros. Es independiente y no necesita tener instalado MS Excel. Funciona en múltiples plataformas. El precio de lanzamiento de IronXL es de $599. Además, ofrece la opción de pagar una cuota de un año por la asistencia técnica y las actualizaciones del producto. IronXL ofrece cobertura de redistribución sin derechos de autor con un coste adicional. Para obtener más información sobre los precios, visite nuestra página página de licencias.

< ANTERIOR
C# Abrir Archivo Excel Programáticamente (Tutorial de Ejemplo de Código)
SIGUIENTE >
Cómo mover filas en Excel

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

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123