USO DE IRONXL

Cómo exportar a CSV en .NET Core

Chaknith Bin
Chaknith Bin
22 de noviembre, 2023
Actualizado 23 de agosto, 2024
Compartir:

1.0 Introducción

Una de las bibliotecas más conocidas, IronXL, se utilizará en este artículo para contrastar y comparar diferentes formas en que las tecnologías .NET pueden interactuar programáticamente con documentos de Microsoft Excel. También creará un entorno para leer, escribir y exportar hojas de cálculo Excel a archivos CSV.

2,0 IronXL

El IronXL for .NET, una biblioteca de Excel en C#, se puede utilizar para leer y convertir documentos de Microsoft Excel a archivos CSV. IronXL es una biblioteca de software .NET independiente que puede usarse sin la instalación de Microsoft Office o Microsoft.Office.Interop.Excel. Puede leer diversos formatos de hojas de cálculo.

Las hojas de cálculo de Excel pueden leerse, editarse y generarse con facilidad en un contexto .NET gracias a la sencilla API C# de IronXL. Xamarin, Linux, macOS, Azure, .NET Core y .NET Framework son totalmente compatibles con IronXL.

2.1 Características de la biblioteca IronXL

  • Entre las mejores bibliotecas de C# para hojas de cálculo Excel se encuentra IronXL, que funciona tanto con .NET Core como con .NET Framework.
  • IronXL es compatible con prácticamente todos los marcos .NET, incluidas las aplicaciones de consola, Windows Forms y Web.
  • Windows, macOS y Linux son compatibles con IronXL.
  • Con IronXL se puede acceder rápida y fácilmente a los archivos de Excel.
  • Los formatos de archivo de Excel como archivos XLSX, archivos CSV, XLS, XSLT, TSV, XLSM, y otros, pueden ser leídos por IronXL. Entre las muchas posibilidades están las funciones para importar, actualizar y exportar conjuntos de datos y tablas de datos.
  • Cálculos para la hoja de cálculo de Excel pueden ser generados por IronXL.
  • Para las columnas de Excel, IronXL admite una amplia gama de tipos de datos, como texto, enteros, fechas, monedas, fórmulas y porcentajes.
  • Las fechas, monedas, porcentajes, texto, números, fórmulas y otros tipos de datos de columnas de Excel son todos compatibles con IronXL.

3.0 Creación de un proyecto .NET Core 6

Verá lo fácil que es construir un archivo CSV utilizando la biblioteca IronXL en las siguientes secciones de este boletín.

Paso 1: Inicie un nuevo proyecto para generar un archivo CSV.

Abra Visual Studio y elija "Nuevo proyecto" en el menú "Archivo".

Elija las plantillas de proyecto .NET "Console App" en el cuadro de diálogo siguiente y, a continuación, haga clic en "Siguiente".

Cómo exportar a CSV en .NET Core, Figura 1: Crear una nueva aplicación de consola en Visual Studio

Crear una nueva Aplicación de Consola en Visual Studio

Puede introducir el nombre que desee para el "Nombre del proyecto". Una vez que se haya proporcionado la ubicación del nuevo proyecto en la sección "Ubicación", haga clic en el botón Siguiente para continuar.

Cómo exportar a CSV en .NET Core, Figura 2: Configurar el nuevo proyecto

Configure el nuevo proyecto

El menú desplegable Framework permite elegir un .NET Framework. En este caso, la versión de .NET con soporte a largo plazo es la 6.0. A continuación, haz clic en el botón Crear.

Cómo exportar a CSV en .NET Core, Figura 3: Selección del marco de trabajo objetivo .NET

Selección del marco de trabajo objetivo de .NET

Instale la biblioteca IronXL, ya que es necesaria para la resolución posterior. Para ello, introduzca el siguiente comando en la consola del gestor de paquetes:

Install-Package IronXL.Excel

Cómo exportar a CSV en .NET Core, Figura 4: Instalar el paquete IronXL

Instalar el paquete IronXL

Una alternativa es buscar el paquete "IronXL" utilizando el Gestor de paquetes NuGet. En la pestaña Examinar, introduzca "IronXL" en el cuadro de búsqueda para buscar la biblioteca IronXL. En esta lista de todos los paquetes NuGet relacionados con IronXL, seleccione el paquete necesario para descargar.

Cómo exportar a CSV en .NET Core, Figura 5: Buscar e instalar el paquete de IronXL en la interfaz del Administrador de Paquetes NuGet

Buscar e instalar el paquete IronXL en el Administrador de paquetes NuGet UI

4.0 Exportar datos a archivo CSV

Con IronXL, crear tablas de datos en archivos CSV es sencillo y rápido. Facilita la escritura de datos en un archivo CSV fresco. El primer paso es incluir el espacio de nombres IronXL, como se ve en la captura de pantalla de código a continuación. Una vez presentado IronXL, sus clases y métodos pueden utilizarse en el código.

Cómo Exportar a CSV en .NET Core, Figura 6: Incluir el espacio de nombres de IronXL

Incluir el espacio de nombres IronXL

IronXL se puede utilizar para crear archivos de Excel, que posteriormente se convierten en objetos WorkBook. Después de que se convierten en objetos de la clase WorkBook, es posible trabajar en ellos de varias formas. Al transformar un DataTable en una hoja de cálculo de Excel, el código fuente de ejemplo a continuación crea un archivo de Excel.

using IronXL;
using System.Data;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animals", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Leopard");
    table.Rows.Add("Cheetah");
    table.Rows.Add("Hyenas");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
using IronXL;
using System.Data;

static void main(String [] arg)
{
    ExportToExcel("test.csv");
}

public static void ExportToExcel(string filepath)
{
    DataTable table = new DataTable();
    table.Columns.Add("DataSet_Animals", typeof(string));
    table.Rows.Add("Lion");
    table.Rows.Add("Tiger");
    table.Rows.Add("Leopard");
    table.Rows.Add("Cheetah");
    table.Rows.Add("Hyenas");

    var workbook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workbook.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        writer["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    workbook.SaveAsCsv(filepath, ";");
    //or 
    var stream = workbook.ToStream();
}
Imports IronXL
Imports System.Data

Shared Sub main(ByVal arg() As String)
	ExportToExcel("test.csv")
End Sub

Public Shared Sub ExportToExcel(ByVal filepath As String)
	Dim table As New DataTable()
	table.Columns.Add("DataSet_Animals", GetType(String))
	table.Rows.Add("Lion")
	table.Rows.Add("Tiger")
	table.Rows.Add("Leopard")
	table.Rows.Add("Cheetah")
	table.Rows.Add("Hyenas")

	Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workbook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each row As DataRow In table.Rows
		writer("A" & (rowCount)).Value = row(0).ToString()
		rowCount += 1
	Next row
	workbook.SaveAsCsv(filepath, ";")
	'or 
	Dim stream = workbook.ToStream()
End Sub
$vbLabelText   $csharpLabel

El ejemplo de CSV anterior muestra cómo exportar el DataTable a un archivo CSV. Después de que se ha establecido un DataTable, es decir, se crean los encabezados de las columnas y una vez que se ha establecido la primera columna, las filas se agregan una a una. Después de agregar las filas y columnas al objeto DataTable, se construye el objeto WorkBook. El objeto WorkBook se puede utilizar para agregar datos a una hoja de Excel, que luego se puede guardar en otro lugar. El siguiente paso es iniciar el objeto WorkSheet, que está vinculado al objeto del libro de trabajo.

Antes de agregar el valor a la hoja de cálculo, se utiliza un bucle foreach para leer cada valor del DataTable. La función SaveAsCsv se utiliza para guardar los datos en un archivo CSV una vez que todos se han puesto en la hoja de trabajo, usando el nombre del archivo como parámetro. Se puede utilizar un delimitador como argumento opcional si no es necesario. A continuación, la biblioteca ayuda a escribir los datos en un archivo CSV. Hay otra manera de leer archivos CSV además de Microsoft Excel utilizando el Bloc de notas. Además, el método Save se utiliza para guardar el mismo en el formato de archivo dado.

Cómo exportar a CSV en .NET Core, Figura 7: archivo de Excel de SALIDA test.csv

OUTPUT archivo de Excel test.csv

Arriba está la salida del ejemplo de código que se ejecutó. Cada dato de la tabla de datos se ha añadido por separado a la hoja Excel recién creada en la captura de pantalla. Alternativamente, también se puede convertir en un flujo como parte de la Aplicación Web para devolver archivos que se pueden descargar desde el lado del cliente.

Para obtener más información sobre cómo exportar datos de DataTable a Excel, por favor revisa esta página de tutorial.

Para saber más sobre cómo exportar datos a Excel, por favor consulta este tutorial paso a paso.

5.0 Conclusión

IronXL es una de las utilidades de Excel más utilizadas. No depende de ninguna otra biblioteca externa. Es autónomo y no necesita tener instalado Microsoft Excel. Además, funciona a través de diversos canales.

Para todas las operaciones relacionadas con documentos de Microsoft Excel implementadas programáticamente, IronXL ofrece una solución integral. Calcular fórmulas, ordenar cadenas o números, recortar, agregar, encontrar y reemplazar, combinar y descombinar, guardar archivos y mucho más, todo es posible. Además de validar los datos de la hoja de cálculo, también puede establecer los tipos de datos de las celdas. Facilita el trabajo con datos de Excel y permite leer y escribir archivos.

IronXL ofrece una licencia de prueba gratuita que permite a los usuarios probar y testar todas sus increíbles características de forma gratuita.

En el lanzamiento, IronXL está disponible por $749. Los usuarios también pueden optar por pagar una cuota de suscripción de un año para recibir actualizaciones y asistencia sobre el producto. IronXL ofrece seguridad para la redistribución sin restricciones por un coste adicional. Para obtener datos de precios más precisos, visite la página de licencias de IronXL.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo cargar un archivo Excel en C#
SIGUIENTE >
Biblioteca CSV de C# (Tutorial para desarrolladores)