USO DE IRONXL

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

Actualizado 6 de junio, 2023
Compartir:

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

IronXL

IronXL es una biblioteca C# de última generación que proporciona una interfaz sencilla e intuitiva para leer, escribir y editar archivos Excel mediante programación. 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, gamas y varias hojas a través de la API IronXL. IronXL también proporciona documentación detallada de la API WorkSheet.

Utilizando IronXL, los desarrolladores pueden exportar fácilmente una gran cantidad de datos de una Tabla de datos a una hoja de cálculo Excel manteniendo el rendimiento de la aplicación y minimizando las posibilidades de error. 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 puede exportar grandes datos de 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 ejemplos 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 puede utilizarse para crear una tabla de este tipo 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 de 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 volúmenes de datos de DataTable a Excel en C#, Figura 4: Gestor de paquetes NuGet

Gestor de paquetes NuGet

IronXL en los resultados de búsqueda:

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

Resultado de la búsqueda 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 grandes volúmenes de datos 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 C#.

El siguiente ejemplo de código muestra cómo exportar los 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()
    {
        //  Su consulta sql
        string sql = "SELECT * FROM [dbo].[Table]";

        //  Su cadena de conexión
        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))
        {
            //  Conexiones abiertas a la base de datos
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            //  Crear nuevo DataSet
            DataSet ds = new DataSet();
            //  Rellenar DataSet con datos
            adapter.Fill(ds);

            //  Crear un nuevo libro de Excel a partir del DataSet SQL
            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()
    {
        //  Su consulta sql
        string sql = "SELECT * FROM [dbo].[Table]";

        //  Su cadena de conexión
        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))
        {
            //  Conexiones abiertas a la base de datos
            connection.Open();
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);
            //  Crear nuevo DataSet
            DataSet ds = new DataSet();
            //  Rellenar DataSet con datos
            adapter.Fill(ds);

            //  Crear un nuevo libro de Excel a partir del DataSet SQL
            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()
		'  Su consulta sql
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		'  Su cadena de conexión
		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)
			'  Conexiones abiertas a la base de datos
			connection.Open()
			Dim adapter As New SqlDataAdapter(sql, connection)
			'  Crear nuevo DataSet
			Dim ds As New DataSet()
			'  Rellenar DataSet con datos
			adapter.Fill(ds)

			'  Crear un nuevo libro de Excel a partir del DataSet SQL
			Dim workBook As WorkBook = WorkBook.Load(ds)
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
VB   C#

Cómo Exportar Grandes Datos de DataTable a Excel en C#, Figura 7: Los datos extraídos en el archivo Excel

Los datos extraídos en el archivo 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.

Utilizando 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 rellena el DataSet con los datos de la tabla de datos como resultados de la consulta SQL.

A continuación, cree una nueva instancia de Libro de trabajo de la librería IronXL y carga el DataSet en ella. Por último, el WorkBook se guarda como un archivo XLSX, la extensión de los archivos 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.

En IronXL es una solución excelente, ya que proporciona una interfaz sencilla e intuitiva para leer, escribir y editar archivos Excel mediante programación. 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. Visite tutorial para obtener información más detallada sobre la exportación de datos de DataTable a Excel. Visite otro tutorial para obtener más información sobre cómo exportar datos de archivos Excel. Hay un prueba gratuita disponible para IronXL para que los usuarios prueben toda su funcionalidad.

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

< ANTERIOR
Cómo abrir un archivo Excel y escribir datos en C#
SIGUIENTE >
Cómo convertir Excel a Datagridview en C#

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

Comenzar prueba gratuita Descargas totales: 856,014
Ver licencias >