USO DE IRONXL

Cómo Exportar Grandes Datos de Datatable a Excel en C#

Chaknith Bin
Chaknith Bin
6 de junio, 2023
Actualizado 31 de marzo, 2024
Compartir:

Este artículo ofrecerá el enfoque más efectivo para extraer una gran cantidad de datos de un DataTable a una hoja de Excel.

IronXL

IronXL es una biblioteca de C# de vanguardia que ofrece una interfaz simple e intuitiva para leer, escribir y editar archivos de Excel de manera programática. Se trata de una herramienta que libera todo el potencial de las hojas de cálculo Excel, ofreciendo a desarrolladores y usuarios la posibilidad de manipular datos fácilmente. Se ha diseñado para gestionar tareas en Excel que son más repetitivas y requieren más tiempo. Tanto si está trabajando en un modelo financiero, un informe de ventas o un proyecto de visualización de datos, IronXL puede ayudarle a realizar el trabajo de forma rápida y eficaz.

Con IronXL, puede agilizar su flujo de trabajo, reducir errores y llevar su automatización de Excel al siguiente nivel. IronXL le permite interactuar directamente con los datos de Excel sin necesidad de interconectar los archivos o bibliotecas de MS. Los desarrolladores pueden gestionar elementos como celdas, rangos y múltiples hojas a través de la API de IronXL. IronXL también proporciona documentación detallada del API de WorkSheet.

Al utilizar IronXL, los desarrolladores pueden exportar fácilmente una gran cantidad de datos desde un DataTable a una hoja de cálculo de Excel mientras mantienen el rendimiento de la aplicación y minimizan las posibilidades de errores. Comprender cómo exportar datos de DataTable a Excel en C# puede ayudar a los desarrolladores a gestionar eficazmente los datos en sus aplicaciones y mejorar la experiencia del usuario.

Este artículo discutirá cómo se puede exportar grandes datos desde DataTable a un archivo de Excel. Proporciona una guía paso a paso desde la creación de un proyecto .NET en Visual Studio hasta la instalación de la biblioteca IronXL y muestras de código. Prepárese para dar rienda suelta a su creatividad y liberar todo el potencial de sus datos con IronXL.

1. Requisitos previos

Se deben cumplir varios requisitos previos para utilizar la biblioteca IronXL para escribir un archivo Excel desde una base de datos. Entre ellas figuran:

  • Visual Studio debe estar instalado en su ordenador para crear un proyecto C#.
  • ASP.NET debe estar instalado en su sistema antes de crear un proyecto C#.
  • La biblioteca IronXL debe estar instalada en su sistema. Puedes obtenerlo descargando el paquete NuGet de IronXL desde el gestor de paquetes NuGet en Visual Studio.
  • SQL también debe estar instalado en Visual Studio. Lo ideal sería disponer también de una tabla en la base de datos para exportar los datos. El comando SQL CREATE TABLE se puede utilizar para crear tal tabla y definir su estructura.

2. Creación de un nuevo proyecto en Visual Studio

Antes de utilizar la biblioteca IronXL para realizar operaciones relacionadas con Excel, deberá crear un proyecto .NET en Visual Studio. Aunque cualquier versión de Visual Studio es compatible, se recomienda utilizar la última versión.

Puede elegir entre varias plantillas de proyecto, como Windows Forms y ASP.NET, en función de sus necesidades.

Este tutorial emplea la plantilla de proyecto Aplicación de Consola para demostrar el trabajo con IronXL.

Cómo exportar grandes datos de DataTable a Excel en C#, Figura 1: Crear una nueva ventana de proyecto

Crear una nueva ventana de proyecto

Una vez elegido el tipo de proyecto, hay que darle un nombre y seleccionar su ubicación. También puede especificar el marco preferido, como .NET Core 6, para el proyecto.

Cómo exportar grandes volúmenes de datos desde DataTable a Excel en C#, Figura 2: Configuración del proyecto

Configuración del proyecto

Una vez generada la solución, puede acceder al archivo program.cs, donde puede introducir código y crear/ejecutar la aplicación.

Cómo exportar grandes datos de DataTable a Excel en C#, Figura 3: Proyecto con código abierto

Proyecto con código abierto

3. Instalación de IronXL

La biblioteca IronXL puede descargarse e instalarse de diferentes maneras:

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

3.1 Uso de los paquetes NuGet de Visual Studio

Para instalar la biblioteca IronXL con el gestor de paquetes NuGet en Visual Studio, abra el gestor de paquetes NuGet y busque 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 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 grandes cantidades de datos de DataTable a Excel en C#, Figura 4: Gestor de paquetes NuGet

Administrador de paquetes NuGet

IronXL en los resultados de búsqueda:

Cómo Exportar Grandes Cantidades de Datos de DataTable a Excel en C#, Figura 5: resultado de búsqueda de IronXL

Resultado de búsqueda de IronXL

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

Muchos desarrolladores prefieren instalar paquetes mediante la interfaz de línea de comandos. Para instalar IronXL utilizando la línea de comandos, siga estos pasos:

  • Vaya a Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes en Visual Studio.
  • 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 Datos Masivos de DataTable a Excel en C#, Figura 6: Instalación a través de la línea de comandos

Instalación a través de la línea de comandos

4. Exportar datos de DataTable a archivo Excel

Para exportar datos en DataTable a Excel usando IronXL, necesitas tener una tabla de base de datos integrada con el proyecto en C#.

El siguiente ejemplo de código muestra cómo exportar datos de todas las columnas de DataTable a la hoja de cálculo de Excel.

using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;
using System.Linq;

class LargeDataToExcel 
{
    static void Main()
    {
        // Your sql query
        string sql = "SELECT * FROM [dbo].[Table]";

        // Your connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open connections to the database
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            // Create new DataSet
            DataSet ds = new DataSet();
            // Fill DataSet with data
            adapter.Fill(ds);

            // Create an Excel new workbook from the SQL DataSet
            WorkBook workBook = WorkBook.Load(ds);
            workBook.SaveAs("sample.xlsx");
        }
    }
}
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Linq

Friend Class LargeDataToExcel
	Shared Sub Main()
		' Your sql query
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		' Your connection string
		Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\BUTTW\SOURCE\REPOS\CREATE PDF\CREATE PDF\DATABASE1.MDF;Integrated Security=True"

		Using connection As New SqlConnection(connectionString)
			' Open connections to the database
			connection.Open()
			Dim adapter As New SqlDataAdapter(sql, connection)
			' Create new DataSet
			Dim ds As New DataSet()
			' Fill DataSet with data
			adapter.Fill(ds)

			' Create an Excel new workbook from the SQL DataSet
			Dim workBook As WorkBook = WorkBook.Load(ds)
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Cómo exportar grandes volúmenes de datos desde DataTable a Excel en C#, Figura 7: Los datos extraídos en el archivo de Excel

Los datos extraídos en el archivo de Excel

En el código anterior, se recupera una gran tabla de datos de una base de datos SQL Server y se exporta a un archivo Excel. Se establece una conexión entre el proyecto y el servidor SQL mediante una cadena de conexión.

Usando el objeto SqlDataAdapter, recuperamos los datos especificados por la consulta SQL. El objeto DataSet puede almacenar una colección de DataTables, sus relaciones y restricciones. El SqlDataAdapter llena el DataSet con los datos en la tabla de datos como los resultados de la consulta SQL.

A continuación, crea una nueva instancia de la clase WorkBook de la biblioteca IronXL y carga el DataSet en ella. Finalmente, el WorkBook se guarda como un archivo XLSX, la extensión para archivos de Excel.

Con este código, no es necesario crear cada fila de encabezado ni añadir columnas manualmente. En sólo unos segundos, todos los datos de esa tabla se exportan a un nuevo archivo de Excel utilizando la Biblioteca de Excel IronXL. Con esta técnica, los desarrolladores pueden exportar fácilmente datos de distintos tipos, tamaños y fuentes a hojas de cálculo de Excel.

5. Conclusión

Los datos pueden exportarse de una DataTable a una hoja de cálculo Excel en C# utilizando diversas bibliotecas y técnicas. Cuando se trabaja con una gran cantidad de datos, es esencial utilizar técnicas que manejen los datos de forma eficiente sin comprometer el rendimiento de la aplicación.

La biblioteca IronXL es una excelente solución, que proporciona una interfaz simple e intuitiva para leer, escribir y editar archivos Excel de forma programática. Es esencial cumplir varios requisitos previos, como instalar Visual Studio y ASP.NET, para utilizar la biblioteca IronXL para escribir en una base de datos desde un archivo de Excel. Una vez cumplidos los requisitos previos, la biblioteca IronXL puede descargarse e instalarse mediante distintos métodos, como el uso de paquetes NuGet de Visual Studio y la línea de comandos de Visual Studio. Tras la instalación, el siguiente paso es escribir el código que crea un nuevo objeto emisor de una nueva hoja de cálculo para exportar la DataTable a una hoja de cálculo de Excel.

Al comprender cómo exportar datos de una DataTable a una hoja de cálculo de Excel en C#, los desarrolladores pueden gestionar eficazmente los datos en sus aplicaciones y mejorar la experiencia del usuario. Por favor, visite el siguiente tutorial para obtener información más detallada sobre la exportación de datos de DataTable a Excel. Por favor, visite otro tutorial para obtener más información sobre cómo exportar datos desde archivos de Excel. Hay una prueba gratuita disponible para IronXL para que los usuarios puedan probar toda su funcionalidad.

Los usuarios también pueden beneficiarse de Iron Suite, una colección de herramientas de desarrollo de software que incluye IronPDF, IronOCR, IronXL, IronBarcode y IronWebscraper.

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 abrir un archivo Excel y escribir datos en C#
SIGUIENTE >
Cómo convertir Excel a Datagridview en C#