Cómo exportar 'DataTable' a CSV en C#
IronXL permite la conversión perfecta DataTable a CSV en C# sin necesidad de instalar Microsoft Excel. Esta biblioteca .NET independiente proporciona una API simple para convertir automáticamente DataTables en archivos CSV con estructuras y delimitadores personalizados, lo que hace que la exportación de datos sea sencilla para los desarrolladores.
IronXL es una biblioteca popular que permite a los desarrolladores interactuar con documentos de Microsoft Excel en tecnologías C# .NET, incluidos archivos CSV, sin necesidad de tener instalado Microsoft Excel. Permite la conversión automática de tipos registrados a archivos CSV y la escritura de archivos CSV con estructuras personalizadas.
¿Qué características ofrece la biblioteca IronXL?
Los documentos de Microsoft Excel se pueden leer y convertir a archivos CSV utilizando la biblioteca C# IronXL .NET. IronXL es una biblioteca de software .NET independiente que puede leer una variedad de formatos de hojas de cálculo . No depende de Microsoft.Office.Interop.Excel ni requiere la instalación de Microsoft Excel.
Con la ayuda de la API C# fácil de usar de IronXL, puede leer, modificar y crear rápidamente archivos de hojas de cálculo de Excel en el entorno .NET. IronXL es totalmente compatible con .NET Core, .NET Framework, Xamarin, Mobile, Linux , macOS y Azure .
- Las bibliotecas principales de hojas de cálculo Excel para C# en .NET Core y .NET Framework incluyen IronXL.
- Prácticamente todos los marcos .NET son compatibles, incluidas consola, formularios Windows y aplicaciones web.
- IronXL funciona en sistemas operativos Windows, Linux y macOS.
- IronXL hace que la lectura de archivos Excel sea sencilla y rápida.
- IronXL admite múltiples formatos de Excel: archivos XLSX, XLS, CSV, TSV, XLST y XLSM.
- IronXL exporta archivos a varios formatos, incluidos XLS, CSV, TSV, JSON y XML.
- IronXL genera cálculos de Excel y admite fórmulas.
- IronXL admite formatos de datos de columnas de Excel, incluidos texto, números, fechas, monedas y porcentajes.
Para obtener más detalles, visita la descripción general de la documentación de IronXL .
¿Cómo creo un nuevo proyecto en Visual Studio?
En Visual Studio, se debe crear un proyecto .NET antes de poder usar el marco IronXL. Cualquier edición de Visual Studio funcionará, pero se recomienda la más reciente. Dependiendo de sus necesidades, puede crear una aplicación de Windows Forms o diferentes plantillas de proyecto. Para simplificar las cosas, este tutorial utilizará la aplicación de consola.
! Cuadro de diálogo Crear nuevo proyecto de Visual Studio que muestra varias plantillas de proyecto .NET, incluidas las opciones de aplicación de consola, aplicación web ASP.NET Core y aplicación de servidor Blazor. Crea un nuevo proyecto en Visual Studio
Después de eso, ingrese el nombre y la ubicación del proyecto.
! Cuadro de diálogo de configuración del proyecto de Visual Studio que muestra la configuración de una nueva aplicación de consola de C# con el nombre de proyecto 'ConsoleApp1', orientada a Windows con salida de consola. Configurar el nuevo proyecto
A continuación, seleccione la siguiente estructura. En este proyecto se utilizará .NET Core 6.
¡ Cuadro de diálogo de creación de proyecto de Visual Studio que muestra la configuración de la aplicación de consola con .NET 6.0 (soporte a largo plazo) seleccionado como marco. Seleccionar una versión de .NET Framework
El archivo program.cs se abrirá después de que la aplicación genere la solución para que pueda ingresar el código del programa y construir/ejecutar la aplicación.
¡ Ventana de aplicación de consola C# vacía en Visual Studio que muestra el proyecto IronXLConsole con la estructura de código inicial lista para implementar la funcionalidad de exportación CSV. El proyecto de aplicación de consola recién creado
Luego se puede agregar la biblioteca y usarla para evaluar el código. Para otros tipos de proyectos, como aplicaciones .NET MAUI o proyectos VB.NET , el proceso es similar pero con consideraciones específicas del marco.
¿Cómo instalo la biblioteca IronXL?
Hay cuatro métodos para descargar e instalar la Biblioteca IronXL.
Los cuales son:
- Instalación a través de Visual Studio
- Instalación usando la Consola del Administrador de Paquetes de Visual Studio
- Descargando directamente desde el sitio web de NuGet
- Descarga directa desde el sitio web de IronXL
¿Qué método debo utilizar para instalar Visual Studio?
Usando NuGet Package Manager, se puede instalar el módulo IronXL. Para encontrar IronXL, primero debe iniciar el NuGet Package Manager y luego buscar en el panel de navegación. Instale IronXL eligiéndolo de los listados de búsqueda. Después de eso, la biblioteca IronXL podrá usar esta aplicación.
La imagen a continuación demuestra cómo iniciar el Administrador de Paquetes NuGet de Visual Studio.
¡ El menú Herramientas de Visual Studio se expandió y muestra la opción Administrador de paquetes NuGet y la Consola del administrador de paquetes resaltadas en el menú desplegable Herramientas. Navega al Administrador de Paquetes NuGet
¡ Interfaz del Administrador de paquetes NuGet que muestra el paquete IronXL.Excel con la versión 2022.3.0, con 133 000 descargas y el botón Instalar para una fácil integración. Instalar el paquete IronXL en la IU del Administrador de Paquetes NuGet
¿Cuándo debo utilizar la consola del administrador de paquetes?
Muchos desarrolladores prefieren usar una consola para realizar tareas. Por lo tanto, una instalación de terminal también es una opción. Para instalar IronXL usando la línea de comandos, siga las instrucciones a continuación.
- Navegue a Herramientas > Administrador de Paquetes NuGet > Interfaz del Administrador de Paquetes en Visual Studio.
Ingrese el siguiente comando en la pestaña de consola del administrador de paquetes:
Install-Package IronXL.Excel
- Espere a que IronXL se descargue e instale en el proyecto activo.
¡ Consola del Administrador de paquetes en Visual Studio que muestra el comando 'Install-Package IronXL.Excel' con mensajes de confirmación de instalación exitosa. Instalar el paquete IronXL en la IU de la Consola del Administrador de Paquetes
¿Por qué debería descargar desde el sitio web de NuGet?
El paquete NuGet se puede descargar directamente desde el sitio web como tercera opción. Este método es especialmente útil cuando se trabaja en entornos con acceso restringido a Internet o cuando se necesita administrar paquetes manualmente.
- Vaya al enlace oficial de NuGet . *La opción de descarga del paquete se encuentra en el menú de la derecha.
- Haga clic dos veces en el archivo guardado. Se instalará inmediatamente.
- Recargue la solución después de eso y comience a utilizarla en el proyecto.
¿Cómo instalo directamente desde el sitio web de IronXL?
Para descargar el paquete más reciente directamente desde el sitio web, haga clic en este enlace para descargar un archivo ZIP de IronXL. Este enlace descargará un archivo ZIP que contiene la última versión del archivo DLL de la biblioteca IronXL. Una vez finalizada la descarga, extraiga el contenido del archivo ZIP en cualquier directorio de su elección.
Para agregar el archivo al proyecto después de descargarlo, siga los pasos que se indican a continuación.
- Haz clic derecho en el proyecto desde la ventana de solución.
- Seleccione Referencias y luego navegue a la carpeta extraída que contiene los DLL de IronXL.
- Seleccione el DLL y haga clic en OK para agregarlo al proyecto activo como una Referencia.
Para escenarios de implementación, también puede configurar IronXL en contenedores Docker o implementarlo en plataformas en la nube como AWS Lambda y Azure Functions .
¿Cómo exporto una DataTable a un archivo CSV?
DataTables se pueden exportar fácil y rápidamente a archivos CSV utilizando IronXL. Ayuda a escribir datos en nuevos archivos CSV con soporte para delimitadores personalizados y opciones de codificación.
Primero, como se muestra en la imagen de código a continuación, se debe incluir el espacio de nombres de IronXL para usar las clases y métodos de IronXL.
¡ Editor de código C# que muestra las declaraciones de espacio de nombres 'using IronXL;' y 'using System.Data;' con resaltado de sintaxis para la implementación de la exportación de DataTable a CSV. Agregar espacios de nombres comunes
Los archivos Excel se pueden crear usando IronXL, que luego los transforma en objetos WorkBook. Luego realice varias operaciones sobre estos objetos. El código de ejemplo a continuación creará un archivo de Excel convirtiendo un DataTable en una hoja de cálculo de Excel.
using IronXL;
using System.Data;
// Entry point of the application
static void Main(string[] args)
{
// Specify the file path for the CSV file output
ExportToExcel("H:\\test.csv");
}
// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
// Create a DataTable and add columns and rows
DataTable table = new DataTable();
table.Columns.Add("DataSet_Fruits", typeof(string));
table.Rows.Add("Apple");
table.Rows.Add("Orange");
table.Rows.Add("Strawberry");
table.Rows.Add("Grapes");
table.Rows.Add("Watermelon");
table.Rows.Add("Bananas");
table.Rows.Add("Lemons");
// Create a new WorkBook and add the DataTable data to it
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
var writer = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Write each item from the DataTable into the worksheet starting from cell A1
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file with a specified delimiter
wb.SaveAsCsv(filepath, ";");
}using IronXL;
using System.Data;
// Entry point of the application
static void Main(string[] args)
{
// Specify the file path for the CSV file output
ExportToExcel("H:\\test.csv");
}
// Exports the DataTable to an Excel file and saves it as CSV
public static void ExportToExcel(string filepath)
{
// Create a DataTable and add columns and rows
DataTable table = new DataTable();
table.Columns.Add("DataSet_Fruits", typeof(string));
table.Rows.Add("Apple");
table.Rows.Add("Orange");
table.Rows.Add("Strawberry");
table.Rows.Add("Grapes");
table.Rows.Add("Watermelon");
table.Rows.Add("Bananas");
table.Rows.Add("Lemons");
// Create a new WorkBook and add the DataTable data to it
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
var writer = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
// Write each item from the DataTable into the worksheet starting from cell A1
writer["A" + (rowCount)].Value = row[0].ToString();
rowCount++;
}
// Save the workbook as a CSV file with a specified delimiter
wb.SaveAsCsv(filepath, ";");
}El código anterior exporta el DataTable a un archivo de Excel. Los encabezados de columna se crean una vez que se crea un DataTable. Luego, agregue las filas una por una después de establecer la primera columna. Se crea el objeto WorkBook después de agregar las columnas y filas al objeto DataTable para contener esos datos. Luego se construye el objeto WorkSheet, que se agrega al objeto WorkBook.
Cada valor del DataTable se lee y se agrega usando un bucle foreach antes de agregar el valor al WorkSheet. Una vez agregados todos los valores a la hoja de cálculo, el método SaveAsCsv los guarda en un archivo CSV. Puede especificar el delimitador y la ubicación del archivo como parámetros.
Para escenarios más complejos, es posible que desee exportar varias DataTables como hojas de trabajo diferentes o trabajar con DataSets para una organización de datos más estructurada.
Trabajar con diferentes formatos CSV
IronXL proporciona flexibilidad al trabajar con archivos CSV. A continuación se muestra un ejemplo que muestra cómo exportar una DataTable con formato y codificación personalizados:
// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
// Create workbook from DataTable
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.CreateWorkSheet("DataExport");
// Add headers
for (int i = 0; i < dataTable.Columns.Count; i++)
{
ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
}
// Add data rows
for (int row = 0; row < dataTable.Rows.Count; row++)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
}
}
// Save with custom delimiter (comma) and UTF-8 encoding
wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}// Export with custom delimiter and encoding
public static void ExportToCSVWithOptions(DataTable dataTable, string filepath)
{
// Create workbook from DataTable
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = wb.CreateWorkSheet("DataExport");
// Add headers
for (int i = 0; i < dataTable.Columns.Count; i++)
{
ws[$"{(char)('A' + i)}1"].Value = dataTable.Columns[i].ColumnName;
}
// Add data rows
for (int row = 0; row < dataTable.Rows.Count; row++)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
ws[$"{(char)('A' + col)}{row + 2}"].Value = dataTable.Rows[row][col];
}
}
// Save with custom delimiter (comma) and UTF-8 encoding
wb.SaveAsCsv(filepath, ",", System.Text.Encoding.UTF8);
}Este enfoque le brinda más control sobre el proceso de exportación, permitiéndole establecer formatos de datos de celda y personalizar la estructura de salida.
¡ Hoja de cálculo de Excel que muestra una lista de frutas (manzana, naranja, fresa, uvas, sandía, plátanos, limones) en la columna A con formato CSV adecuado y sin delimitadores adicionales. El archivo CSV de salida
La salida del ejemplo de código en ejecución se muestra arriba. En la captura de pantalla, cada pieza de datos de la tabla de datos ha sido agregada individualmente a la nueva hoja de Excel formada. También puede aplicar formato a las celdas antes de exportar o agregar fórmulas para valores calculados.
Para operaciones CSV más avanzadas, puede:
- Leer archivos CSV con delimitadores personalizados
- Escribir en archivos CSV con codificación específica
- Convertir entre diferentes formatos de hojas de cálculo
- Exportar a formatos JSON o XML
Para obtener más información sobre el tutorial de IronXL, haga clic en este cómo exportar a formatos de Excel.
¿Por qué debería utilizar IronXL para exportar CSV?
Uno de los programas más populares de Excel es IronXL. No se basa en ninguna otra biblioteca de fuentes externas. Es autónomo y no requiere la instalación de Microsoft Excel. Opera a través de numerosos canales.
IronXL proporciona una solución integral para todas las tareas relacionadas con documentos de Microsoft Excel que se implementan programáticamente. Puede realizar cálculos de fórmulas , ordenar cadenas o números , recortar y agregar , buscar y reemplazar, fusionar y separar , guardar archivos, etc. También puede establecer formatos de datos de celdas junto con validar datos de hojas de cálculo. También admite la lectura y escritura de archivos CSV y le ayuda a trabajar como datos de Excel.
Los beneficios adicionales incluyen:
- Protección con contraseña para exportaciones de datos confidenciales
- Optimización del rendimiento para grandes conjuntos de datos
- Soporte para formato condicional en Excel antes de la exportación CSV
- Compatibilidad con rangos y tablas con nombre
- Conservación de hipervínculos en formatos compatibles
IronXL's el precio inicial en el lanzamiento es $799. También ofrece a los usuarios la opción de pagar una tarifa de suscripción de un año por asistencia con el producto y actualizaciones. Por un cargo adicional, IronXL ofrece seguridad para la redistribución sin restricciones. Para investigar información más aproximada sobre precios, visite esta página de licencias.
Preguntas Frecuentes
¿Cómo puedo exportar una DataTable a un archivo CSV en C#?
Puedes usar IronXL para exportar una DataTable a un archivo CSV creando un WorkBook y exportando los datos en objetos de hoja de trabajo. Esto permite una conversión y exportación sin problemas, sin requerir Microsoft Excel.
¿Qué formatos de archivo puedo exportar usando esta biblioteca?
IronXL permite exportar datos a varios formatos como XLS, CSV, TSV y JSON, proporcionando flexibilidad en el manejo de diferentes necesidades de datos.
¿Es posible realizar operaciones similares a Excel con esta biblioteca?
Sí, IronXL permite operaciones similares a Excel, como cálculos de fórmulas, ordenación de datos y guardado de archivos, convirtiéndolo en una herramienta integral para tareas de programación relacionadas con Excel.
¿Necesito instalar Microsoft Excel para usar esta biblioteca?
No, IronXL es una biblioteca independiente de .NET que no requiere que Microsoft Excel esté instalado, lo que permite a los desarrolladores trabajar con documentos de Excel directamente dentro de sus aplicaciones C#.
¿Qué plataformas son compatibles con esta biblioteca?
IronXL es compatible con múltiples plataformas, incluyendo .NET Core, .NET Framework, Xamarin, así como sistemas operativos como Windows, Linux y macOS.
¿Cómo puedo instalar la biblioteca IronXL en mi proyecto?
IronXL puede instalarse en un proyecto .NET usando Visual Studio accediendo al Administrador de Paquetes NuGet o descargando directamente desde los sitios web de NuGet o IronXL.
¿Cuáles son las opciones de precios disponibles para esta biblioteca?
IronXL ofrece un precio inicial con opciones para una suscripción de un año que incluye asistencia de producto y actualizaciones, proporcionando soporte continuo y acceso a las últimas características.







