Saltar al pie de página
USANDO IRONXL

Analizador CSV en C# (Tutorial paso a paso)

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

Existen muchas bibliotecas CSV para resolver este problema. Sin embargo, la IronXL C# Excel Library se usará en este blog para realizar estas tareas con solo dos líneas de código.

Para empezar, todo lo que necesitas es Visual Studio y seguir las instrucciones para instalarlo en detalle a continuación.

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

Abre el editor de Visual Studio.

Ve al menú Archivo en Visual Studio. Elige "Nuevo Proyecto", luego selecciona Aplicación de Consola.

Escribe el nombre del proyecto y elige la ubicación del proyecto. Luego, haz clic en el botón Crear para crear el proyecto. Selecciona el .NET Framework requerido, como se muestra en la captura de pantalla a continuación:

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 1: Crear un nuevo C#. Aplicación de Consola .NET Crear un nuevo C#. Aplicación de Consola .NET

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

2. Instale la biblioteca C# IronXL

La biblioteca IronXL se puede descargar e instalar de muchas formas diferentes. Hoy, nos enfocaremos en dos de estas formas:

  • Usando el Administrador de Paquetes NuGet de Visual Studio
  • Usando la Línea de Comandos de Visual Studio

2.1. Uso del Administrador de paquetes NuGet de Visual Studio

La IU del Administrador de Paquetes NuGet está disponible en Visual Studio para instalar el paquete directamente en el proyecto. La captura de pantalla a continuación muestra cómo abrirlo.

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 2: Instalando IronXL utilizando el administrador de paquetes NuGet de Visual Studio GU Instalando IronXL usando el administrador de paquetes NuGet de Visual Studio GUI

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

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 3: Localizar la biblioteca IronXL en el administrador de paquetes NuGet buscándola en la sección de navegación Localizar la biblioteca IronXL en el administrador de paquetes NuGet buscándola en la sección de navegación

Selecciona el paquete IronXL.Excel y haz clic en el botón Instalar para agregarlo al proyecto.

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

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

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 4: Acceso a la Consola del administrador de paquetes NuGet dentro de Visual Studio desde el menú Herramientas Acceso a la Consola del administrador de paquetes NuGet dentro de Visual Studio desde el menú Herramientas

La Consola del administrador de paquetes aparecerá en la parte inferior de la pantalla. Simplemente escribe el siguiente comando y luego presiona enter, y se instalará IronXL.

Install-Package IronXL.Excel

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 5: Instalar la biblioteca IronXL a través de la línea de comando Instalar la biblioteca IronXL a través de la línea de comando

3. Análisis de archivos CSV

Analizar archivos CSV manualmente requiere escribir mucho código preciso para realizar el trabajo, pero con IronXL, solo requiere unas pocas líneas de código.

Al usar solo código convencional de C# para analizar archivos en formato CSV, tendrás que utilizar mucho código voluminoso. Aquí tienes un ejemplo de código para lograr esto.

using FileHelpers;
using System;

namespace parse_csv
{
    [DelimitedRecord(",")]
    public class Record
    {
        public string Name;
        public string Age;
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();
            // Read records from the CSV file into an array
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            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)
        {
            // Create a FileHelperEngine for the Record class
            var fileHelperEngine = new FileHelperEngine<Record>();
            // Read records from the CSV file into an array
            var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");

            // Print each record's Name and Age
            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)
			' Create a FileHelperEngine for the Record class
			Dim fileHelperEngine As New FileHelperEngine(Of Record)()
			' Read records from the CSV file into an array
			Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")

			' Print each record's Name and Age
			For Each record In records
				Console.WriteLine(record.Name)
				Console.WriteLine(record.Age)
			Next record
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Pero usando IronXL esto se puede lograr en solo unas pocas líneas de código.

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

  1. Analizar archivo CSV desde archivo XLSX
  2. Analizar archivo CSV desde archivo XLS
  3. Analizar archivo CSV desde archivo TSV

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

Abre Microsoft Excel y crea un nuevo archivo XLSX. Llena sus filas y columnas con algunos datos ficticios. La imagen a continuación muestra el archivo utilizado para todas las conversiones en este tutorial.

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 6: Datos de ejemplo en Excel Datos de ejemplo en Excel

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

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        WorkBook wb = WorkBook.Load("test.xlsx");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Parsed CSV.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLSX file into a WorkBook object
        WorkBook wb = WorkBook.Load("test.xlsx");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Parsed CSV.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the XLSX file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("test.xlsx")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Parsed CSV.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

Después de que la ejecución se complete, se creará un nuevo archivo llamado Parsed CSV.csv. La lectura de archivos CSV se puede hacer en cualquier editor o lector que prefieras. La imagen a continuación muestra la salida del comando anterior - nuestros datos CSV generados. En el archivo de salida, las comillas dobles representan valores en negrita.

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 7: El resultado de invocar el método WorkBook.SaveAsCsv en el libro de Excel de ejemplo 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.

Primero, crearemos un ejemplo de archivo XLS que podamos convertir al formato CSV.

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 8: Un archivo XLS de ejemplo Un archivo XLS de ejemplo

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

using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        WorkBook wb = WorkBook.Load("XLS.xls");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example2.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the XLS file into a WorkBook object
        WorkBook wb = WorkBook.Load("XLS.xls");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example2.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the XLS file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("XLS.xls")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Example2.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

Después de que la ejecución del código anterior haya terminado, tendrás un archivo CSV recién generado.

Tutorial de Análisis CSV de C# (Paso a Paso), Figura 9: El archivo CSV resultante de guardar usando el código anterior El archivo CSV resultante de guardar usando el código anterior

3.3. Analizar archivo CSV desde archivo TSV

Las aplicaciones de hojas de cálculo utilizan frecuentemente archivos TSV, o archivos de Valores Separados por Tabulaciones, para transferir datos entre bases de datos. Guarda una tabla de datos con tabulaciones separando las columnas de datos y cada registro estando en una línea diferente.

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

Comencemos con el ejemplo.

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

using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        WorkBook wb = WorkBook.Load("TSV.tsv");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example3.csv");
    }
}
using IronXL;

class Program
{
    static void Main()
    {
        // Load the TSV file into a WorkBook object
        WorkBook wb = WorkBook.Load("TSV.tsv");
        // Save the WorkBook as a CSV file
        wb.SaveAsCsv("Example3.csv");
    }
}
Imports IronXL

Friend Class Program
	Shared Sub Main()
		' Load the TSV file into a WorkBook object
		Dim wb As WorkBook = WorkBook.Load("TSV.tsv")
		' Save the WorkBook as a CSV file
		wb.SaveAsCsv("Example3.csv")
	End Sub
End Class
$vbLabelText   $csharpLabel

A continuación se muestra la salida en formato CSV. Tutorial de Análisis CSV de C# (Paso a Paso), Figura 11: El archivo CSV de salida El archivo CSV de salida

4. Conclusión

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

Además, la biblioteca IronXL también ofrece las siguientes características:

Consulta las características de IronXL, ejemplos de código y documentación para obtener más información sobre cómo funciona IronXL. Descarga IronXL y pruébalo gratis durante 30 días con una clave de licencia de prueba. Visita la Página de Licenciamiento para obtener más información sobre los términos y condiciones de licenciamiento.

¡Compra la suite completa de Iron Suite para obtener licencias de las cinco bibliotecas de Iron Software al precio de dos licencias de la biblioteca IronXL!

¡Gracias por leer!

Preguntas Frecuentes

¿Cómo puedo analizar archivos CSV en C# sin usar Interop?

IronXL te permite analizar archivos CSV en C# sin usar Interop. Puedes cargar un archivo CSV en un objeto WorkBook y manipularlo directamente, convirtiéndolo a otros formatos como XLSX o XLS con solo unas pocas líneas de código.

¿Qué pasos se necesitan para instalar la biblioteca IronXL en Visual Studio?

Para instalar la biblioteca IronXL en Visual Studio, abre la IU del Administrador de Paquetes NuGet, busca 'IronXL' e instálalo. Alternativamente, puedes usar la Línea de Comandos de Visual Studio y ejecutar el comando Install-Package IronXL.Excel en la Consola de Gestor de Paquetes.

¿Cómo puedo convertir archivos CSV a formatos de Excel en C#?

Usando IronXL, puedes convertir archivos CSV a formatos de Excel como XLSX o XLS cargando el CSV en un objeto WorkBook y guardándolo en el formato deseado usando métodos como SaveAsXlsx.

¿Es posible analizar archivos TSV y convertirlos a CSV en C#?

Sí, IronXL permite el análisis de archivos TSV. Carga el archivo TSV en un objeto WorkBook y usa el método SaveAsCsv para convertirlo en un archivo CSV.

¿Qué funcionalidades proporciona una biblioteca de Excel para C# para la manipulación de datos?

IronXL proporciona funcionalidades como manipulación de datos, gestión de gráficos, formato de celdas y compatibilidad con el cifrado de Excel. Soporta operaciones como paneles de congelación, fórmulas y formato condicional.

¿Cómo puedo gestionar formatos de hojas de cálculo de Excel programáticamente en C#?

IronXL permite la gestión de diferentes formatos de hojas de cálculo como XLSX, XLS y CSV. Proporciona métodos para convertir entre estos formatos y manejar datos eficientemente dentro de aplicaciones .NET.

¿Puedo probar una biblioteca de Excel para C# antes de comprarla?

Sí, IronXL ofrece una prueba gratuita de 30 días disponible para descargar desde el sitio web de NuGet. Esto te permite probar sus características y asegurarte de que cumple con tus necesidades antes de realizar una compra.

¿Qué beneficios ofrece IronXL para analizar y convertir archivos CSV?

IronXL simplifica el proceso de análisis y conversión de archivos CSV con un código mínimo. Asegura un manejo eficiente de datos y proporciona características extensivas que mejoran la manipulación de archivos Excel en aplicaciones C#.

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