USO DE IRONXL

Cómo exportar un archivo a CSV en C#

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

Este artículo contrastará y comparará varios métodos mediante los cuales las tecnologías .NET pueden interactuar programáticamente con documentos de Microsoft Excel utilizando una de las bibliotecas más conocidas, IronXL. Además, creará una configuración para escribir, leer y exportar hojas de cálculo Excel a archivos CSV.

1.1 ¿Qué es .NET Framework?

Microsoft creó el .NET Framework propietario, un marco de software que es mayormente compatible con Microsoft Windows. Sirvió como la implementación principal de Common Language Infrastructure (CLI) hasta que el proyecto multiplataforma .NET tomó su lugar. Ofrece compatibilidad con varios lenguajes de programación diferentes y viene con una amplia biblioteca de clases llamada Framework Class Library (FCL).

1.2 ¿Qué es CSV?

Un formato de archivo de texto denominado "valores separados por comas" divide los valores en columnas separadas mediante comas. Los datos tabulares se almacenan en texto plano en un archivo con formato CSV, en el que cada línea suele corresponder a un único registro de datos. En el archivo CSV, cada registro tiene el mismo número de campos, separados por comas.

2.0 Características de la biblioteca IronXL

Los documentos de Microsoft Excel pueden ser leídos y convertidos a archivos CSV utilizando la librería IronXL for .NET C# Excel. Sin instalar Microsoft Office o Microsoft.Office.Interop.Excel, los usuarios pueden utilizar IronXL, una biblioteca de software .NET independiente. Es capaz de leer varios formatos de hojas de cálculo.

La sencilla API de C# de IronXL facilita la lectura, edición y producción de hojas de cálculo de Excel en un contexto .NET. IronXL ofrece compatibilidad completa con Xamarin, Linux, macOS, Azure, .NET Core y .NET Framework.

  • IronXL, una biblioteca C# compatible tanto con .NET Core como con .NET Framework, se encuentra entre las mejores para hojas de cálculo Excel.
  • IronXL es compatible con casi todos los .NET Framework, incluidas las aplicaciones Web, Windows Forms y Console.
  • IronXL puede utilizarse con los sistemas operativos Linux, macOS y Windows.
  • IronXL tiene un acceso rápido y sencillo a los archivos de Excel.
  • IronXL es capaz de leer una amplia gama de tipos de archivos Excel, incluidos XLSX, CSV, XLS, XLST, TSV, XLSM y más. Las funciones para importar, actualizar y exportar tablas de datos y conjuntos de datos son solo algunas de las numerosas opciones de la biblioteca.
  • Para la hoja de cálculo de Excel, IronXL es capaz de realizar cálculos.
  • IronXL admite numerosos tipos de datos para columnas de Excel, incluidos texto, enteros, fechas, monedas, fórmulas y porcentajes.
  • IronXL puede manejar múltiples valores en forma de fechas, monedas, porcentajes, texto, números, fórmulas y más tipos de datos de columna de Excel.

    Para saber cómo exportar datos a Excel, consulte este tutorial.

3.0 Creación de un nuevo proyecto en Visual Studio

Abra Visual Studio y cree un proyecto .NET antes de usar la biblioteca IronXL. Visual Studio puede utilizarse en cualquier versión, aunque se recomienda la más reciente. Para simplificar las cosas, este artículo utilizará la Aplicación de Consola para este ejemplo.

Cómo exportar un archivo a CSV en C#, Figura 1: Abre Visual Studio, ve al menú Archivo y selecciona Nuevo proyecto. De las diversas plantillas de proyecto .NET elige la Aplicación de consola.

Abre Visual Studio, ve al menú "Archivo" y selecciona "Nuevo Proyecto". De las diversas plantillas de proyectos .NET, elige la "Aplicación de consola".

A continuación, introduzca la ubicación y el nombre del proyecto.

Cómo exportar un archivo a CSV en C#, Figura 2: Crear un nuevo proyecto en Visual Studio

Crear un nuevo proyecto en Visual Studio

El menú desplegable Framework permite elegir un .NET Framework. para este proyecto se ha seleccionado .NET Framework 4.7. A continuación, haga clic en el botón Crear.

El archivo program.cs se abrirá cuando la aplicación genere la solución, permitiéndote ingresar el código y compilar/ ejecutar el programa.

Cómo exportar un archivo a CSV en C#, Figura 3: El archivo Program.cs se abrirá una vez que el proyecto de Aplicación de Consola se haya creado exitosamente.

El archivo Program.cs se abrirá una vez que se haya creado exitosamente el proyecto de aplicación de consola.

Para probar el código, el siguiente paso es añadir la librería IronXL.

Instala la librería IronXL, ya que es necesaria para la siguiente corrección. Para ello, introduzca el siguiente comando en la consola del gestor de paquetes NuGet:

Install-Package IronXL.Excel

Cómo exportar un archivo a CSV en C#, Figura 4: Instalar el paquete IronXL en la Consola del Administrador de Paquetes NuGet

Instale el paquete IronXL en la Consola del Administrador de Paquetes NuGet

Otra opción es utilizar el gestor de paquetes NuGet para buscar el paquete "IronXL" y, a continuación, elegir el paquete necesario para descargar de esta lista de todos los paquetes NuGet conectados a IronXL.

Cómo exportar un archivo a CSV en C#, Figura 5: Instalar el paquete IronXL usando el Administrador de Paquetes NuGet

Instala el paquete IronXL usando el Administrador de Paquetes NuGet

4.0 Exportar a archivo CSV

IronXL hace que sea sencillo y rápido crear arreglos de cadenas a archivos CSV. De este modo, se simplifica la escritura de archivos CSV. En primer lugar, incluya el espacio de nombres IronXL, como se muestra en la siguiente captura de pantalla de código. A continuación, utilice las clases y métodos de IronXL en el código de abajo una vez que se ha presentado.

Cómo exportar un archivo a CSV en C#, Figura 6: Incluir el espacio de nombres de IronXL

Incluir el espacio de nombres IronXL

Los archivos de Excel pueden ser creados con IronXL y luego convertidos en objetos de libros de trabajo. Este objeto ofrece varios métodos para trabajar con ellos. El siguiente ejemplo de código genera un archivo Excel convirtiendo una cadena de array en una hoja de cálculo Excel.

using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
using IronXL;
using IronXL.Options;
using System.Data;

static void Main ( string [ ] args ) { 
    string [] students = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };
    var workBook = WorkBook.Create(ExcelFileFormat.XLS);
    var writer = workBook.DefaultWorkSheet;
    int rowCount = 1;
    foreach(var student in students)
    {
        writer ["A" + (rowCount)].Value = rowCount.ToString();
        writer ["B" + (rowCount)].Value = student.ToString();
        rowCount++;
    }
    workBook.SaveAsCsv("Sample.csv", ";");
    // or
    var stream = workBook.ToStream();
}
Imports IronXL
Imports IronXL.Options
Imports System.Data

Shared Sub Main(ByVal args() As String)
	Dim students() As String = {"AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }
	Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)
	Dim writer = workBook.DefaultWorkSheet
	Dim rowCount As Integer = 1
	For Each student In students
		writer ("A" & (rowCount)).Value = rowCount.ToString()
		writer ("B" & (rowCount)).Value = student.ToString()
		rowCount += 1
	Next student
	workBook.SaveAsCsv("Sample.csv", ";")
	' or
	Dim stream = workBook.ToStream()
End Sub
$vbLabelText   $csharpLabel

El ejemplo de código-CSV antes mencionado exportará una matriz a un archivo Excel. Las cabeceras de columna se crean una vez que se ha construido una matriz. Las filas se añaden de una en una cuando se establece la primera columna. El objeto WorkBook se crea una vez que los datos han sido añadidos a la cadena de matriz. Puedes añadir datos a una hoja de Excel utilizando el objeto WorkBook, y luego guardarla en otro lugar. El objetivo es crear hojas de trabajo creando el objeto WorkSheet, que se puede vincular al objeto libro de trabajo.

Antes de agregar cada elemento a la hoja de cálculo, se utiliza un bucle foreach para leer cada elemento del arreglo de cadenas. Los datos se guardan como un archivo CSV utilizando el método SaveAsCsv cuando todos los datos han sido ingresados en la hoja de trabajo. Junto con el delimitador, el nombre y la ubicación del archivo también pueden proporcionarse como parámetros opcionales. A continuación, la biblioteca ayuda a escribir los datos en un nuevo archivo CSV. Si desea leer archivos CSV en lugar de utilizar Microsoft Excel, puede utilizar el Bloc de notas. IronXL también admite almacenar datos en múltiples formatos de archivo, como XLS, CSV y XLSX, utilizando el método Save. O se puede convertir el libro de trabajo en un flujo y luego escribir los datos en la ubicación requerida.

SALIDA Archivo CSV

Cómo exportar un archivo a CSV en C#, Figura 7: El archivo Excel de salida

El archivo Excel de salida

La salida del ejemplo de código que se ejecutó se ve arriba. La hoja de Excel recién producida en la captura de pantalla tiene cada elemento de datos de la matriz de cadenas añadido de forma independiente.

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

5.0 Conclusión

Uno de los complementos de Excel más populares es IronXL. No depende de ninguna otra biblioteca externa. Es autónomo y no requiere la instalación de Microsoft Excel. Funciona a través de varios canales.

IronXL proporciona una solución completa para todas las tareas relacionadas con documentos de Microsoft Excel ejecutadas programáticamente. Es posible realizar cálculos, ordenar cadenas o números, recortar, añadir, localizar y reemplazar, combinar y combinar, guardar archivos, etc. Puede definir tipos de datos de celda además de comprobar los datos de la hoja de cálculo. Permite leer y escribir archivos y facilita el tratamiento de los datos de Excel.

IronXL ofrece una prueba gratuita que permite a los usuarios probar todas sus características clave de forma gratuita.

IronXL está disponible por $749 en el lanzamiento. Si los usuarios desean actualizaciones y ayuda con el software, también pueden optar por pagar una suscripción de un año. Por una tarifa adicional, IronXL ofrece protección para la redistribución ilimitada. Para encontrar información sobre precios más precisa, por favor 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 exportar a Excel con formato en C#
SIGUIENTE >
Cómo editar una hoja de cálculo en C#