USO DE IRONXL

Cómo exportar una tabla de datos a Excel en ASP.NET Core

Chaknith Bin
Chaknith Bin
18 de abril, 2023
Actualizado 24 de marzo, 2024
Compartir:

Este artículo explorará las diferentes formas de exportar DataTable a un archivo Excel y los beneficios de hacerlo.

1. IronXL

IronXL es una potente biblioteca .NET que proporciona a los desarrolladores la capacidad de leer, escribir y manipular archivos de Excel utilizando ASP.NET. Ofrece una variedad de funciones que simplifican el proceso de trabajar con archivos de Excel, como la extracción de datos, el formato y la validación.

IronXL puede manejar los formatos de archivo XLS y XLSX, lo que lo convierte en una herramienta versátil para trabajar con archivos de Excel. También admite una variedad de otros formatos de archivo, como CSV y TSV, lo que permite a los usuarios trabajar con diferentes fuentes de datos. Este artículo explorará las diferentes características de IronXL y cómo puede ayudar a los desarrolladores a agilizar el proceso de trabajo con archivos de Excel.

2. Requisitos previos

Requisitos previos para exportar datos de DataTable a Excel utilizando la biblioteca IronXL:

  • Para crear un proyecto ASP.NET, Visual Studio debe estar instalado en su sistema. Si aún no tiene Visual Studio, puede descargarlo del sitio web de Microsoft.
  • Antes de crear un proyecto ASP.NET, debe asegurarse de que ASP.NET está instalado en su sistema. Puede comprobarlo yendo al Panel de control y buscando la opción "Activar o desactivar las características de Windows". Asegúrese de que la opción "ASP.NET" está activada.
  • Para poder exportar datos desde DataTable a un archivo Excel utilizando la biblioteca IronXL, debe tenerla instalada. Puedes instalarlo descargando el paquete NuGet de IronXL desde el gestor de paquetes NuGet dentro de Visual Studio.

3. Creación de un nuevo proyecto ASP.NET Core

Para utilizar la biblioteca IronXL con Excel, debe crear un proyecto .NET en Visual Studio. Puede utilizar cualquier versión de Visual Studio, pero se recomienda utilizar la versión más reciente. En función de sus necesidades, puede elegir entre diferentes plantillas de proyecto, como Windows Forms. Para facilitar las cosas, en este tutorial se utilizará la aplicación de consola.

Cómo exportar Datatable a Excel en ASP.NET, Figura 1: Crear un nuevo proyecto en Visual Studio

Crear un nuevo proyecto en Visual Studio

Tras seleccionar el tipo de proyecto, introduzca un nombre para el proyecto y designe su ubicación. Elija el Framework deseado, como .NET Core 6, para el proyecto.

Cómo exportar Datatable a Excel en ASP.NET, Figura 2: Configurar el nuevo proyecto

Configure el nuevo proyecto

Una vez creada la solución, se abrirá el archivo program.cs, que le permitirá introducir código y construir/ejecutar la aplicación.

Cómo Exportar Datatable a Excel en ASP.NET, Figura 3: Selección del .NET Framework

Selección de .NET Framework

Por último, puedes incorporar la biblioteca para probar el código.

4. Instalar IronXL

La biblioteca IronXL puede descargarse e instalarse de distintas formas.

Estos son:

  • Uso de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio.

4.1 Utilización de Visual Studio

Para instalar la biblioteca IronXL, lo más sencillo es utilizar el gestor de paquetes NuGet en Visual Studio. Simplemente abre el Gestor de paquetes NuGet y busca IronXL en la pestaña Examinar. Una vez localizado IronXL en los resultados de la búsqueda, selecciónalo y procede con la instalación. Una vez finalizada la instalación, puede empezar a utilizar la biblioteca IronXL en su proyecto.

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

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 4: Navegar al Administrador de paquetes de NuGet

Navegar al Administrador de Paquetes NuGet

IronXL en los resultados de búsqueda:

Cómo exportar Datatable a Excel en ASP.NET, Figura 5: Buscar e instalar el paquete IronXL en la interfaz de usuario del Administrador de Paquetes NuGet

Buscar e instalar el paquete IronXL en el Administrador de paquetes NuGet UI

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

Muchas personas prefieren instalar paquetes utilizando la interfaz de línea de comandos. Para instalar IronXL utilizando la línea de comandos, siga estos pasos:

  • 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 Datatable a Excel en ASP.NET, Figura 6: Progreso de instalación en la Consola del Administrador de Paquetes

Progreso de la instalación en la Consola del Administrador de Paquetes

5. Creación de archivo Excel usando DataTable DT Usando IronXL

La exportación de datos de tablas de datos al formato de archivo Excel es bastante popular. Usando IronXL, puedes exportar fácilmente datos de DataTable a un documento de Excel. El ejemplo de código adjunto a continuación convertirá un DataTable en una hoja de cálculo de Excel guardada en el formato de archivo XLSX.

5.1. Tabla de datos a fichero Excel

En primer lugar, debe incluir el espacio de nombres de IronXL y otras dependencias. A continuación, puede empezar a escribir el siguiente código como se muestra a continuación.

using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
using IronXL;
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++;
}
wb.SaveAs("datatable.xlsx");  
Imports IronXL
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

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 dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAs("datatable.xlsx")
$vbLabelText   $csharpLabel

Salida

A continuación se muestra la salida del código fuente anterior.

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 7: El archivo Excel de salida

El archivo Excel de salida

5.2. DataTable a formatos de archivo Excel compatibles

Con IronXL también puedes convertir DataTable a diferentes formatos de archivo compatibles con Excel, como los archivos CSV. Utilizaremos el siguiente ejemplo, pero esta vez lo guardaremos como un archivo CSV. Esto es todo lo que necesita hacer para guardar el libro de trabajo en un formato de archivo diferente.

using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
using System.Data;

DataTable dt = new DataTable();
dt.Columns.Add("DataSet", typeof(string));
dt.Rows.Add("Pen");
dt.Rows.Add("Paper");
dt.Rows.Add("Book");
dt.Rows.Add("Cat");
dt.Rows.Add("Panther");
dt.Rows.Add("Cell");
dt.Rows.Add("Bag");
dt.Rows.Add("Bed");
dt.Rows.Add("Fan");
dt.Rows.Add("Smoke");

WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;

foreach (DataRow row in dt.Rows) {
    ws["A" + (rowCount)].Value = row[0].ToString();
    rowCount++; 
}
wb.SaveAsCsv("datatable.csv");  
Imports System.Data

Private dt As New DataTable()
dt.Columns.Add("DataSet", GetType(String))
dt.Rows.Add("Pen")
dt.Rows.Add("Paper")
dt.Rows.Add("Book")
dt.Rows.Add("Cat")
dt.Rows.Add("Panther")
dt.Rows.Add("Cell")
dt.Rows.Add("Bag")
dt.Rows.Add("Bed")
dt.Rows.Add("Fan")
dt.Rows.Add("Smoke")

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 dt.Rows
	ws("A" & (rowCount)).Value = row(0).ToString()
	rowCount += 1
Next row
wb.SaveAsCsv("datatable.csv")
$vbLabelText   $csharpLabel

Cómo exportar una tabla de datos a Excel en ASP.NET, Figura 8: El archivo CVS de salida

El archivo CVS de salida

6. Conclusión

Exportar un DataTable a Excel es un paso crucial en el análisis y la gestión de datos. La hoja Excel se utiliza ampliamente para la visualización y presentación de datos, y la biblioteca IronXL ofrece una serie de funciones para simplificar el proceso de trabajo con archivos Excel en ASP.NET. Este artículo cubría los pasos para crear un nuevo proyecto ASP.NET, instalar IronXL y usarlo para exportar datos de un DataTable a un archivo Excel. Además, demostró cómo guardar el libro en diferentes formatos de archivo, como CSV. Al utilizar IronXL, los desarrolladores pueden agilizar el proceso de trabajar con archivos Excel y crear presentaciones visualmente atractivas de sus datos.

Para obtener más información sobre IronXL y exportar DataTable a diferentes formatos de Excel, visite el siguiente tutorial.

IronXL es gratis para instalar y usar con fines de desarrollo no comercial. Una prueba gratuita está disponible para realizar pruebas en producción. Consulte los planes de precios para obtener más detalles sobre precios y licencias.

Los usuarios también pueden beneficiarse de Iron Suite, un conjunto de cinco bibliotecas profesionales que incluyen IronXL, IronPDF y más.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo exportar archivos a Excel en .NET 6
SIGUIENTE >
Leer datos de Excel e insertarlos en una base de datos con C#