Saltar al pie de página
USANDO IRONXL

Cómo exportar archivo a CSV en C#

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

1.1 ¿Qué es .NET Framework?

.NET Framework, creado por Microsoft, es un marco de software propietario que es principalmente compatible con Microsoft Windows. Sirvió como la implementación principal de Common Language Infrastructure (CLI) hasta que el proyecto multiplataforma .NET lo reemplazó. Ofrece compatibilidad de lenguajes entre 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 llamado "valores separados por comas" divide valores en columnas separadas utilizando comas. Los datos tabulares se almacenan en texto plano en un archivo de formato CSV, donde cada línea generalmente corresponde a un único registro de datos. En el archivo CSV, cada registro tiene el mismo número de campos, que están separados por comas.

2.0 Características de la biblioteca IronXL

Los documentos de Microsoft Excel se pueden leer y convertir a archivos CSV utilizando la biblioteca 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 hoja 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 entorno .NET. IronXL ofrece soporte completo para Xamarin, Linux, macOS, Azure, .NET Core y .NET Framework.

  • IronXL, una biblioteca de C# compatible con .NET Core y .NET Framework, está entre las mejores para hojas de cálculo de Excel.
  • IronXL soporta casi todos los marcos de trabajo .NET, incluidas aplicaciones web, formularios de Windows y consola.
  • IronXL se puede usar con sistemas operativos Linux, macOS y Windows.
  • IronXL tiene acceso rápido y fácil a archivos de Excel.
  • IronXL es capaz de leer una amplia gama de tipos de archivos de 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 producir cálculos.
  • IronXL soporta numerosos tipos de datos para las 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 columnas 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 se puede usar en cualquier versión, aunque se recomienda la versión más reciente. Para mantener las cosas simples, este artículo utilizará la aplicación de consola para este ejemplo.

Cómo exportar archivo a CSV en C#, Figura 1: Abra Visual Studio, vaya al menú Archivo y seleccione Nuevo proyecto. De las diversas plantillas de proyectos .NET, elija la Aplicación de consola. Abra Visual Studio, vaya al menú "Archivo" y seleccione "Nuevo proyecto". De las diversas plantillas de proyectos .NET, elija la "Aplicación de consola".

Ingrese la ubicación y el nombre del proyecto después de eso.

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

El menú desplegable Framework se puede usar para elegir un .NET Framework. .NET Framework 4.7 está seleccionado para este proyecto. 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éndole ingresar el código y compilar/ejecutar el programa.

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

Para probar el código, el siguiente paso es agregar la biblioteca IronXL.

Instale la biblioteca IronXL, ya que se requiere para la próxima corrección. Para hacer esto, ingrese el siguiente comando en la consola del Administrador de paquetes NuGet:

Install-Package IronXL -Version 2023.8.29

Cómo exportar 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 usar el Administrador de paquetes NuGet para buscar el paquete "IronXL", luego elija el paquete necesario para descargar de esta lista de todos los paquetes NuGet conectados a IronXL.

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

4.0 Exportar a archivo CSV

IronXL hace que sea simple y rápido crear arreglos de cadenas a archivos CSV. Escribir archivos CSV es más sencillo como resultado. Primero, incluya el espacio de nombres IronXL, como se muestra en la captura de código a continuación. Luego, use las clases y métodos de IronXL en el siguiente código una vez que se haya presentado.

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

Se pueden crear archivos de Excel con IronXL y luego convertirlos en objetos de libro de trabajo. Este objeto ofrece varios métodos para trabajar con ellos. El siguiente ejemplo de código genera un archivo de Excel convirtiendo una cadena de arreglo en una hoja de trabajo de Excel.

using IronXL;
using IronXL.Options;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
using IronXL;
using IronXL.Options;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Array of student names
        string[] students = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" };

        // Create a new workbook with an Excel file format of XLS
        var workBook = WorkBook.Create(ExcelFileFormat.XLS);

        // Get the default worksheet (where student data will be written)
        var workSheet = workBook.DefaultWorkSheet;

        // Start adding data to worksheet from row 1
        int rowCount = 1;
        foreach (var student in students)
        {
            // Set the value in column A for student ID
            workSheet["A" + rowCount].Value = rowCount.ToString();

            // Set the value in column B for student name
            workSheet["B" + rowCount].Value = student.ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file with a specified delimiter
        workBook.SaveAsCsv("Sample.csv", ";");

        // Alternately, convert the workbook to a stream
        var stream = workBook.ToStream();
    }
}
Imports IronXL
Imports IronXL.Options
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Array of student names
		Dim students() As String = { "AAA", "BBB", "CCC", "DDD", "EEE", "FFF" }

		' Create a new workbook with an Excel file format of XLS
		Dim workBook = WorkBook.Create(ExcelFileFormat.XLS)

		' Get the default worksheet (where student data will be written)
		Dim workSheet = workBook.DefaultWorkSheet

		' Start adding data to worksheet from row 1
		Dim rowCount As Integer = 1
		For Each student In students
			' Set the value in column A for student ID
			workSheet("A" & rowCount).Value = rowCount.ToString()

			' Set the value in column B for student name
			workSheet("B" & rowCount).Value = student.ToString()
			rowCount += 1
		Next student

		' Save the workbook as a CSV file with a specified delimiter
		workBook.SaveAsCsv("Sample.csv", ";")

		' Alternately, convert the workbook to a stream
		Dim stream = workBook.ToStream()
	End Sub
End Class
$vbLabelText   $csharpLabel

El ejemplo de código anterior exportará un arreglo a un archivo de Excel. Los encabezados de columna se crean una vez que se ha construido un arreglo. Las filas se añaden una por una cuando se establece la primera columna. El objeto WorkBook se crea una vez que los datos se han añadido a la cadena de arreglos. Puede agregar datos a una hoja de Excel usando el objeto WorkBook y luego guardarlo en otro lugar. El objetivo es crear hojas de trabajo creando el objeto WorkSheet, que se puede enlazar al objeto de libro de trabajo.

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

Archivo CSV de SALIDA

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

La salida del ejemplo de código que se ejecutó se muestra arriba. La hoja de Excel recién producida en la captura de pantalla tiene cada elemento de datos del arreglo de cadena añadido independientemente.

Para saber más sobre cómo exportar datos a CSV usando IronXL, por favor consulte 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 descombinar, guardar archivos, y más. Puede definir tipos de datos de celda además de verificar datos de hojas de cálculo. Le permite leer y escribir archivos y hace que trabajar con datos de Excel sea más fácil.

IronXL ofrece una licencia de prueba gratuita, que da a los usuarios la oportunidad de probar todas sus características clave de forma gratuita.

IronXL está disponible por $799 en el lanzamiento. Si los usuarios desean actualizaciones y ayuda con el software, también pueden optar por pagar un cargo de suscripción de un año. Por una tarifa adicional, IronXL ofrece protección para una redistribución ilimitada. Para encontrar información de precios más precisa, por favor visite la página de licencias de IronXL.

Preguntas Frecuentes

¿Cómo puedo exportar programáticamente datos de Excel a CSV en C#?

Para exportar programáticamente datos de Excel a CSV en C#, puede usar IronXL. Primero, cree un libro y una hoja de trabajo en su programa C#, llénelo con datos y luego use el método SaveAsCsv para exportar los datos a un archivo CSV.

¿Es necesario tener Microsoft Excel instalado para exportar a CSV usando C#?

No, no es necesario tener Microsoft Excel instalado. IronXL es una biblioteca .NET independiente que le permite leer, editar y exportar archivos de Excel a CSV sin necesidad de Microsoft Office o Microsoft.Office.Interop.Excel.

¿Cómo instalo IronXL en un proyecto de Visual Studio?

Puede instalar IronXL en un proyecto de Visual Studio utilizando la Consola del Administrador de paquetes NuGet. Ejecute el comando Install-Package IronXL -Version 2023.8.29 para agregar IronXL a su proyecto.

¿Cuáles son los beneficios de usar IronXL para tareas de Excel en C#?

IronXL proporciona un conjunto robusto de características para manejar tareas de Excel en C#, como leer, editar y exportar hojas de cálculo de Excel a archivos CSV. Admite varios marcos y sistemas operativos .NET, lo que lo hace versátil para diferentes entornos sin necesidad de bibliotecas externas.

¿Puede IronXL manejar cálculos y manipulación de datos en archivos de Excel?

Sí, IronXL puede manejar cálculos, ordenar, combinar y gestionar diferentes tipos de datos en archivos de Excel, proporcionando una solución integral para las tareas relacionadas con Excel.

¿Qué plataformas admite IronXL para la integración de Excel?

IronXL admite múltiples plataformas, incluidas .NET Core, .NET Framework, Xamarin, Linux, macOS, Azure y Windows, lo que permite una implementación flexible en varios sistemas.

¿Qué formatos de archivo puede leer y escribir IronXL?

IronXL puede leer y escribir varios formatos de archivo de Excel, incluidos XLSX, CSV, XLS, XLST, TSV, XLSM y más, lo que facilita la integración y exportación de datos de manera fluida.

¿Hay una versión de prueba disponible para IronXL?

Sí, IronXL ofrece una versión de prueba gratuita que le permite explorar sus características y capacidades antes de comprometerse con una licencia completa.

¿Cómo puedo convertir una matriz de datos en un archivo CSV usando C#?

Usando IronXL, puede convertir una matriz de datos en una hoja de trabajo de Excel y luego usar el método SaveAsCsv para exportarlo como un archivo CSV, lo que hace que la conversión de datos sea sencilla y eficiente.

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