USO DE IRONXL

Cómo exportar DataTable a Excel de la forma más rápida

Actualizado 30 de marzo, 2023
Compartir:

Este artículo le mostrará cómo crear un DataTable en C # y luego exportar datos a un documento de Excel utilizando la biblioteca IronXL .NET Excel.

Biblioteca .NET Excel IronXL

IronXL es una librería C# .NET, que ayuda a crear archivos Excel con facilidad. Se pueden añadir varias hojas al libro Excel recién creado. Proporciona casi todas las características de Microsoft Excel para trabajar con archivos Excel en C#. Ayuda a los desarrolladores a abrir archivos CSV junto con archivos Excel y a modificar los datos existentes en las hojas de cálculo de Excel.

Y lo que es más importante, IronXL funciona sin Microsoft Office Interop. Esto significa que no es necesario instalar Microsoft Office ni ninguna otra dependencia especial. IronXL funciona en .NET Core y .NET Framework 5, 6 y 7.

Con IronXL, puede guardar o exportar datos en distintos formatos como XLS y XLSX, datos CSV y TSV, JSON, XML y HTML, Binary y Byte Array. Ayuda a editar metadatos, permisos y contraseñas del libro de trabajo, editar fórmulas editar el diseño, trabajar con rangos de celdas y estilos de celda y muchas más funciones de Excel.

Pasos para exportar datos de una tabla de datos a un archivo Excel

Requisitos previos

Para utilizar IronXL en la exportación de datos de DataTable a un archivo de Excel en C#, es necesario instalar los siguientes componentes en el equipo local. Veámoslos uno por uno.

  1. Visual Studio - Visual Studio es el IDE para la programación en C# y debe estar instalado. Puede descargar e instalar la última versión desde la página Sitio web de Visual Studio.

    • Una vez configurado el IDE, es necesario crear una Aplicación de Consola/Windows Forms que ayudará a exportar DataTable a Excel. Las siguientes capturas de pantalla muestran cómo crear un proyecto.

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 1: Crear un proyecto

      Crear un proyecto

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 2: Aplicación de consola

      Aplicación de consola

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 3: Nombre del proyecto

      Nombre del proyecto

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 4: .NET Framework

      .NET Framework

      Tras hacer clic en Crear en la última captura de pantalla, se crea el proyecto con el nombre "DemoApp"**.

  2. Biblioteca IronXL - la biblioteca debe ser descargada e instalada en el proyecto de Visual Studio. Hay múltiples formas de hacerlo.

    • Usando Visual Studio - Proporciona NuGet Package Manager para instalar IronXL. Puede acceder a él a través del menú Herramientas o del Explorador de soluciones. Las siguientes capturas de pantalla ayudan a instalar IronXL.

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 5: Explorador de soluciones

      Explorador de soluciones

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 6: Herramientas - NuGet Package Manager

      Herramientas - Gestor de paquetes NuGet

      Cómo exportar DataTable a Excel de la forma más rápida, Figura 7: Examinar IronXL

      **Buscar en IronXL***

    • Símbolo del sistema para desarrolladores - Abra el Símbolo del sistema para desarrolladores desde el menú Herramientas de Visual Studio o desde la carpeta Visual Studio. Escriba el siguiente comando para descargar e instalar IronXL en su proyecto:
    :ProductInstall
  • Directamente desde NuGet Package Manager - Vaya a esta URL https://www.nuget.org/packages/ironxl.excel/ para descargar IronXL.
    1. Agregar Namespaces Necesarios - Para crear una DataTable y utilizar IronXL, ambos deben ser referenciados en la parte superior del archivo Program.cs.
    using IronXL; //añadir referencia...
    using System.Data;
    using IronXL; //añadir referencia...
    using System.Data;
Imports IronXL 'añadir referencia...
	Imports System.Data
VB   C#

Una vez cumplidos todos los requisitos previos, es hora de exportar los datos de DataTable a una hoja de Excel.

Crear una DataTable en C#

El siguiente código ayuda a crear una tabla de datos con dos cabeceras de columna y múltiples filas:

//nueva datatable dt...
DataTable dt = new DataTable();
//añadir nombres de columnas...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); //  primera fila...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
//nueva datatable dt...
DataTable dt = new DataTable();
//añadir nombres de columnas...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); //  primera fila...
dt.Rows.Add("Dog", "Barks");
dt.Rows.Add("Cat", "Meows");
dt.Rows.Add("Goat", "Bleats");
dt.Rows.Add("Wolf", "Howls");
dt.Rows.Add("Cheetah", "Purrs");
'nueva datatable dt...
Dim dt As New DataTable()
'añadir nombres de columnas...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") '  primera fila...
dt.Rows.Add("Dog", "Barks")
dt.Rows.Add("Cat", "Meows")
dt.Rows.Add("Goat", "Bleats")
dt.Rows.Add("Wolf", "Howls")
dt.Rows.Add("Cheetah", "Purrs")
VB   C#

En primer lugar, se crea un objeto DataTable y, a continuación, se añaden columnas con los nombres "Animal" y "Sonido". Después, utilizando este objeto dt, se añaden varias filas. Del mismo modo, se pueden añadir varias cabeceras de columna junto con varias filas.

Crear Archivo Excel usando IronXL en C#

Crear un archivo Excel usando IronXL es un proceso de dos pasos y muy fácil de implementar en C#. Un archivo de Excel es una combinación de un libro de trabajo que tiene múltiples hojas de trabajo, IronXL primero crea un archivo de Excel Libro de trabajo y luego ayuda a añadir un Hoja de trabajo a ella. El siguiente código de ejemplo ayudará a crear un libro de trabajo junto con la hoja de cálculo:

//crear nuevo libro de trabajo...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//crear nuevo libro de trabajo...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Exportando Datos de una Tabla de Datos a una Hoja de Excel usando IronXL

IronXL facilita la adición de valores a las hojas de cálculo con una sintaxis muy sencilla. Esta guía le mostrará cómo exportar datos desde datatable creado en la sección anterior a la hoja de cálculo Excel recién creada. Veamos el código paso a paso.

Añadir encabezado de columna a hoja de cálculo Excel

ws ["A1"].Value = table.Columns [0].ToString();
ws ["B1"].Value = table.Columns [1].ToString();
int rowCount = 2;
ws ["A1"].Value = table.Columns [0].ToString();
ws ["B1"].Value = table.Columns [1].ToString();
int rowCount = 2;
ws ("A1").Value = table.Columns (0).ToString()
ws ("B1").Value = table.Columns (1).ToString()
Dim rowCount As Integer = 2
VB   C#

En el código anterior, a la columna de la hoja de Excel "A1" se le asigna el valor de la columna 1 de la Tabla de datos en el índice 0 y a la siguiente columna de Excel "B1" se le asigna el valor de la columna 2 en el índice 1 de la Tabla de datos. La variable rowCount tiene un valor de 2 para leer filas de DataTable.

Añadir filas a una hoja de cálculo Excel

El siguiente código leerá cada fila de la TablaDatos y la asignará a una nueva fila en el fichero Excel:

foreach (DataRow row in table.Rows)
{
    ws ["A" + (rowCount)].Value = row [0].ToString();
    ws ["B" + (rowCount)].Value = row [1].ToString();
    rowCount++;
}
foreach (DataRow row in table.Rows)
{
    ws ["A" + (rowCount)].Value = row [0].ToString();
    ws ["B" + (rowCount)].Value = row [1].ToString();
    rowCount++;
}
For Each row As DataRow In table.Rows
	ws ("A" & (rowCount)).Value = row (0).ToString()
	ws ("B" & (rowCount)).Value = row (1).ToString()
	rowCount += 1
Next row
VB   C#

La variable rowCount se incrementa cada vez que se lee una nueva fila del archivo datatable a Excel celdas de la hoja de cálculo en el código anterior.

Guardar archivo Excel

Por último, guarde el archivo de Excel utilizando la función Guardar como método.

wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx");
wb.SaveAs("DataTable_to_Excel_IronXL.xlsx")
VB   C#

El archivo también puede guardarse en otros formatos, como CSV. (Valores separados por comas)JSON, XML.

wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv");
wb.SaveAsJson("DataTable_to_Excel_IronXL.json");
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml");
wb.SaveAsCsv("DataTable_to_Excel_IronXL.csv")
wb.SaveAsJson("DataTable_to_Excel_IronXL.json")
wb.SaveAsXml("DataTable_to_Excel_IronXL.xml")
VB   C#

También puede guardarlo con un delimitador personalizado.

El resultado final del archivo es el siguiente:

Cómo exportar DataTable a Excel de la forma más rápida, Figura 8: Salida de DataTable a Excel

Tabla de datos a Excel

Resumen

Este artículo demuestra cómo crear una DataTable con columnas y filas en C# y luego crear un libro de Excel con una hoja de cálculo por defecto utilizando IronXL y exportar datos tabulares de DataTable a Excel y guardar en formato de archivo XLSX.

IronXL es una biblioteca intuitiva de C# Excel que ayuda a los desarrolladores a trabajar con archivos Excel incluso sin una aplicación Excel. Permite a los desarrolladores exportar desde distintos formatos, como el formato de datos CSV, a Excel para la manipulación y el cálculo de datos. Puede explorar funciones más potentes de IronXL desde la página página de ejemplos de código.

IronXL es gratuito para fines de desarrollo individual y puede adquirirse bajo licencia para uso comercial. También ofrece todas las funciones en un prueba gratuita para garantizar la compatibilidad con las propias necesidades. Puede obtener más información sobre las licencias IronXL en este enlace página de licencias.

Descargar el producto de software.

< ANTERIOR
Cómo Exportar Datatable a Excel en VB.NET
SIGUIENTE >
Cómo leer archivos Excel en C#

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

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