USO DE IRONXL

Tutorial de C# CSV Parser (Paso a Paso)

Actualizado 12 de febrero, 2023
Compartir:

¿Alguna vez se ha quedado atascado intentando analizar archivos CSV y convertirlos en archivos XLSX o XLSX en archivos CSV para alguna tarea importante en .NET, pero no ha podido averiguar cómo hacerlo sin escribir toneladas de código?

Existen muchas bibliotecas CSV para resolver este problema. Sin embargo, el IronXL En este blog se utilizará la biblioteca Excel de C# para realizar estas tareas con sólo dos líneas de código.

Para empezar, todo lo que necesita es Visual Studio, y siga las instrucciones de instalación detalladas a continuación.

1. Creación de un nuevo proyecto en Visual Studio

Abra el editor de Visual Studio.

Vaya al menú Archivo de Visual Studio. Elija "Nuevo proyecto" y, a continuación, seleccione Aplicación de consola.

Escriba el nombre del proyecto y elija su ubicación. A continuación, haga clic en el botón Crear para crear el proyecto. Seleccione el .NET Framework necesario, como se muestra en la siguiente captura de pantalla:

Analizador CSV en C# (Paso a paso)  Tutorial, Figura 1: Crear un nuevo archivo C#. NET

Crear un nuevo C#. NET Aplicación de consola

El archivo program.cs se abrirá para que puedas introducir la lógica y crear/ejecutar la aplicación.

2. Instale la librería IronXL C

La biblioteca IronXL puede descargarse e instalarse de muchas formas distintas. Hoy nos centraremos en dos de ellos:

  • Uso del gestor de paquetes NuGet de Visual Studio
  • Uso de la línea de comandos de Visual Studio

2.1. Uso del gestor de paquetes NuGet de Visual Studio

La interfaz de usuario del gestor de paquetes NuGet está disponible en Visual Studio para instalar el paquete directamente en el proyecto. La siguiente captura de pantalla muestra cómo abrirlo.

Tutorial C# CSV Parser (Paso a Paso), Figura 2: Instalación de IronXL mediante la GUI NuGet Package Manager de Visual Studio

Instalación de IronXL mediante la interfaz gráfica de usuario del gestor de paquetes NuGet de Visual Studio.

La interfaz de usuario del gestor de paquetes proporciona una función Examinar que muestra una lista de las bibliotecas de paquetes que se ofrecen en el sitio web de NuGet. Introduzca la palabra clave "IronXL", como en la siguiente captura de pantalla, para encontrar el paquete IronXL.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 3: Localice la librería IronXL en NuGet Package Manager buscándola en la sección Browse

Localice la biblioteca IronXL en NuGet Package Manager buscándola en la sección Examinar.

Seleccione el paquete IronXL.Excel y haga clic en el botón Instalar para añadirlo al proyecto.

2.2. Uso de la línea de comandos de Visual Studio

En el menú de Visual Studio, ve a Herramientas > Gestor de paquetes NuGet > haz clic en Consola del gestor de paquetes.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 4: Acceso a la consola del gestor de paquetes NuGet en Visual Studio desde el menú Herramientas

Acceda a la consola del gestor de paquetes NuGet dentro de Visual Studio desde el menú Herramientas.

La consola del gestor de paquetes aparecerá en la parte inferior de la pantalla. Sólo tienes que escribir el siguiente comando y pulsar enter, y IronXL se instalará.

Install-Package IronXL.Excel

Tutorial C# CSV Parser (Paso a Paso), Figura 5: Instalar la librería IronXL a través de la Línea de Comandos

Instalar la librería IronXL a través de la línea de comandos

3. Análisis de archivos CSV

Parsear CSVs manualmente requiere escribir mucho código preciso para hacer el trabajo, pero con IronXL, sólo requiere unas pocas líneas de código.

Si sólo utiliza código C# convencional para analizar archivos con formato CSV, tendrá que utilizar mucho código voluminoso. He aquí un ejemplo de código para conseguirlo.

using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
using FileHelpers;
using System;
namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;

        public string Age;
    }
    class Program
    {
        static void Main(string [] args)
        {
            var fileHelperEngine = new FileHelperEngine<Record>();
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            foreach (var record in records)
            {
                Console.WriteLine(record.Name);
                Console.WriteLine(record.Age);
            }
        }
    }
}
Imports FileHelpers
Imports System
Namespace parse_csv
	<DelimitedRecord(",")>
	Public Class Record
		Public Name As String

		Public Age As String
	End Class
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
VB   C#

Pero con IronXL esto se puede conseguir en unas pocas líneas de código.

Con IronXL puede analizar archivos CSV de XLSX, XLS, TSV y más. En este tutorial, exploraremos las siguientes conversiones:

  1. Analizar un archivo CSV a partir de un archivo XLSX
  2. Análisis de archivos CSV a partir de archivos XLS
  3. Análisis de archivos CSV a partir de archivos TSV

3.1. Analizar un archivo CSV a partir de un archivo XLSX

Abra Microsoft Excel y cree un nuevo archivo XLSX. Rellena sus filas y columnas con algunos datos simulados. La siguiente imagen muestra el archivo utilizado para todas las conversiones en este tutorial.

Tutorial C# CSV Parser (Paso a Paso), Figura 6: Muestra de datos Excel

**Muestra de datos Excel

Una vez que tengas listo tu archivo, escribe el siguiente código de ejemplo y ejecuta el programa.

using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
using IronXL;

WorkBook wb = WorkBook.Load("test.xlsx");
wb.SaveAsCsv("Parsed CSV.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("test.xlsx")
wb.SaveAsCsv("Parsed CSV.csv")
VB   C#

Una vez finalizada la ejecución, se creará un nuevo archivo con el nombre Parsed CSV.csv. La lectura de archivos CSV se puede hacer en cualquier editor o lector que desee. La siguiente imagen muestra la salida del comando anterior - nuestros datos CSV generados. En el archivo de salida, las comillas dobles representan valores en negrita.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 7: El resultado de invocar WorkBook.SaveAsCsv método en la muestra de Excel Workbook

**El resultado de invocar el método WorkBook.SaveAsCsv en el libro de Excel de ejemplo.

3.2. Analizar un archivo CSV a partir de un archivo XLS

En este ejemplo, veremos cómo convertir archivos XLS en formato CSV.

En primer lugar, vamos a crear un archivo XLS de ejemplo que podemos convertir a formato CSV.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 8: Un archivo XLS de ejemplo

**Un ejemplo de archivo XLS

A continuación, ejecutaremos el bloque de código siguiente para convertir el archivo XLS de muestra en un archivo CSV.

using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
using IronXL;

WorkBook wb = WorkBook.Load("XLS.xls");
wb.SaveAsCsv("Example2.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("XLS.xls")
wb.SaveAsCsv("Example2.csv")
VB   C#

Una vez finalizada la ejecución del código anterior, dispondrá de un archivo CSV recién generado.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 9: El archivo CSV resultante de guardar utilizando el código anterior

**El archivo CSV resultante de guardar el código anterior.

3.3. Análisis de un archivo CSV a partir de un archivo TSV

Las aplicaciones de hojas de cálculo suelen utilizar archivos TSV, o archivos de valores separados por tabulaciones, para transferir datos entre bases de datos. Guarda una tabla de datos con tabulaciones que separan las columnas de datos y cada registro en una línea diferente.

IronXL ofrece un analizador CSV para analizar archivos CSV desde el formato TSV para una mejor gestión de los datos.

Empecemos con el ejemplo.

Tutorial C# CSV Parser (Paso a paso), Figura 10: Una hoja de cálculo TSV de ejemplo

Un ejemplo de hoja de cálculo TSV

using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
using IronXL;

WorkBook wb = WorkBook.Load("TSV.tsv");
wb.SaveAsCsv("Example3.csv");
Imports IronXL

Private wb As WorkBook = WorkBook.Load("TSV.tsv")
wb.SaveAsCsv("Example3.csv")
VB   C#

A continuación se muestra el resultado en formato CSV.

Analizador CSV en C# (Paso a paso) Tutorial, Figura 11: El archivo CSV de salida

**El archivo CSV de salida

4. Conclusión

Este tutorial utiliza IronXL para analizar diversos formatos de archivo a CSV en C#.

Además, la biblioteca IronXL también proporciona las siguientes funciones:

< ANTERIOR
Cómo crear un archivo CSV en C# (paso a paso) Tutorial
SIGUIENTE >
Cómo exportar datos a Excel en Blazor utilizando IronXL

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 897,936 Ver licencias >
123