Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
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órmulaseditar el diseño, trabajar con rangos de celdas y estilos de celda y muchas más funciones de Excel.
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.
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.
Crear un proyecto
Aplicación de consola
Nombre del proyecto
.NET Framework
Tras hacer clic en Crear en la última captura de pantalla, se crea el proyecto con el nombre "DemoApp"**.
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.
Explorador de soluciones
Herramientas - Gestor de paquetes NuGet
**Buscar en IronXL***
:ProductInstall
DataTable
y utilizar IronXL, ambos deben ser referenciados en la parte superior del archivo Program.cs. using IronXL; //add reference...
using System.Data;
using IronXL; //add reference...
using System.Data;
IRON VB CONVERTER ERROR developers@ironsoftware.com
Una vez cumplidos todos los requisitos previos, es hora de exportar los datos de DataTable
a una hoja de Excel.
El siguiente código ayuda a crear una tabla de datos con dos cabeceras de columna y múltiples filas:
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
//new datatable dt...
DataTable dt = new DataTable();
//add column names...
dt.Columns.Add("Animal");
dt.Columns.Add("Sound");
dt.Rows.Add("Lion", "Roars"); // first row...
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");
'new datatable dt...
Dim dt As New DataTable()
'add column names...
dt.Columns.Add("Animal")
dt.Columns.Add("Sound")
dt.Rows.Add("Lion", "Roars") ' first row...
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")
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 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:
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
//create new workbook...
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.DefaultWorkSheet;
'create new workbook...
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = wb.DefaultWorkSheet
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.
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
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
.
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
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.
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")
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")
También puede guardarlo con un delimitador personalizado.
El resultado final del archivo es el siguiente:
Tabla de datos a Excel
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.
9 productos API .NET para sus documentos de oficina