Saltar al pie de página
USANDO IRONXL

Cómo exportar DataTable a CSV en C#

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.

Características de la biblioteca IronXL

Los documentos de Microsoft Excel se pueden leer y convertir a archivos CSV usando 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 de 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. .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS y Azure son completamente compatibles con IronXL.

  • Las bibliotecas principales de hojas de cálculo Excel para C# en .NET Core y .NET Framework incluyen IronXL.
  • Prácticamente todos los marcos de .NET, incluidos Consola, Windows Forms y Web, son compatibles con IronXL.
  • IronXL funciona en una variedad de sistemas operativos, incluidos Windows, Linux y macOS.
  • IronXL hace que sea simple y rápido leer archivos de Excel.
  • IronXL admite la lectura de diferentes formatos de archivos de Excel, incluidos archivos XLSX, XLS, CSV, TSV, XLST, XLSM y más. También podemos cargar, modificar, exportar tablas de datos, exportar conjuntos de datos y más.
  • IronXL puede exportar y guardar archivos con una amplia gama de sufijos, incluidos XLS, CSV, TSV, JSON y otros.
  • IronXL puede generar cálculos de Excel.
  • IronXL admite una variedad de formatos de datos de columna de Excel, incluidos texto, números, fórmulas, fechas, monedas y porcentajes.

Para más detalles visite aquí.

1. Creación de 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 similar a Windows Forms u otras plantillas de proyectos. Para simplificar las cosas, esta lección utilizará la aplicación de consola.

Cómo exportar DataTable a CSV en C#, Figura 1: Crear un nuevo proyecto en Visual Studio Crea un nuevo proyecto en Visual Studio

Después de eso, ingrese el nombre y la ubicación del proyecto.

Cómo exportar DataTable a CSV en C#, Figura 2: Configurar el nuevo proyecto Configurar el nuevo proyecto

Seleccione la siguiente estructura a continuación. .NET Core 6 se utilizará en este proyecto.

Cómo exportar DataTable a CSV en C#, Figura 3: Seleccionar una versión del marco .NET 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.

Cómo exportar DataTable a CSV en C#, Figura 4: El proyecto de aplicación de consola recién creado El proyecto de aplicación de consola recién creado

Luego se puede agregar la biblioteca y usarla para evaluar el código.

2. Instalar 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

Instalación de IronXL mediante 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.

Cómo exportar DataTable a CSV en C#, Figura 5: Navegar al Administrador de Paquetes NuGet Navega al Administrador de Paquetes NuGet

Cómo exportar DataTable a CSV en C#, Figura 6: Instalar el paquete IronXL en la IU del Administrador de Paquetes NuGet Instalar el paquete IronXL en la IU del Administrador de Paquetes NuGet

Instalación de IronXL mediante la consola del Administrador de paquetes NuGet de Visual Studio

Muchas personas disfrutan usando una consola para llevar a cabo 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.

Cómo exportar DataTable a CSV en C#, Figura 7: Instalar el paquete IronXL en la IU de la Consola del Administrador de Paquetes Instalar el paquete IronXL en la IU de la Consola del Administrador de Paquetes

Descargar IronXL directamente desde el sitio web de NuGet

El paquete NuGet se puede descargar directamente desde el sitio web como tercera opción.

  • Explore el enlace oficial de NuGet.
  • La opción de descargar el paquete se puede encontrar en el menú a 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.

Acceder directamente al 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.

3. Exportar a archivo CSV

Los DataTables se pueden crear fácil y rápidamente a archivos CSV usando IronXL. Ayuda a escribir datos en un nuevo archivo CSV.

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.

Cómo exportar DataTable a CSV en C#, Figura 8: Agregar espacios de nombres comunes Agregar espacios de nombres comunes

Los archivos Excel se pueden crear usando IronXL, que luego los transforma en objetos WorkBook. Luego realice una variedad de operaciones en ellos después de convertirlos en 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, ";");
}
Imports IronXL
Imports System.Data

' Entry point of the application
Shared Sub Main(ByVal args() As String)
	' Specify the file path for the CSV file output
	ExportToExcel("H:\test.csv")
End Sub

' Exports the DataTable to an Excel file and saves it as CSV
Public Shared Sub ExportToExcel(ByVal filepath As String)
	' Create a DataTable and add columns and rows
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Fruits", GetType(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
	Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = wb.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		' Write each item from the DataTable into the worksheet starting from cell A1
		writer("A" & (rowCount)).Value = row(0).ToString()
		rowCount += 1
	Next row
	' Save the workbook as a CSV file with a specified delimiter
	wb.SaveAsCsv(filepath, ";")
End Sub
$vbLabelText   $csharpLabel

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. Después de que todos los valores han sido agregados a la hoja de cálculo, el método SaveAsCsv se usa para guardarlos en un archivo CSV; al mismo tiempo, también podemos dar el delimitador y el nombre del archivo con ubicación como parámetros.

Cómo exportar DataTable a CSV en C#, Figura 9: El archivo CSV de salida 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.

Para obtener más información sobre el tutorial de IronXL, haga clic en este cómo exportar a formatos de Excel.

Conclusión

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 anexar, buscar y reemplazar, fusionar y descombinar, guardar archivos, etc. También puede establecer formatos de datos de celda 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.

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.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más