USO DE IRONXL

Cómo leer archivos CSV en C#

Actualizado 19 de abril, 2023
Compartir:

Este artículo explorará cómo crear un Lector CSV en C# utilizando la librería IronXL.

IronXL - Biblioteca Excel

IronXL es una potente biblioteca de Excel que ofrece a los desarrolladores de C# la posibilidad de crear, cargar, leer y editar hojas de cálculo de Excel en varios formatos. Diseñado específicamente para .NET, IronXL da prioridad a la velocidad, la precisión y la facilidad de uso. Permite guardar archivos Excel en diferentes formatos y cargar varios formatos de hojas de cálculo en Excel para una lectura eficaz de los datos.

IronXL admite formatos de libros de Excel con distintas extensiones de archivo, como CSV y TSV, XLS y XLSX, XSLT y XLSM. Es compatible con la última versión de .NET Framework, así como con todas las versiones anteriores hasta la 2.0. IronXL puede utilizarse en varias plataformas, como Linux, macOS, Azure, Docker y AWS.

¿Cómo hacer un lector CSV en C# usando IronXL?

Requisitos previos

Para convertir datos de un archivo CSV a un archivo Excel y leerlos en C#, necesitamos las siguientes herramientas:

  1. Visual Studio: es un entorno de desarrollo integrado esencial. (IDE) para trabajar en aplicaciones C# .NET. Es el IDE oficial y recomendado para desarrollar aplicaciones en C#, y puede descargarse e instalarse desde la página Sitio web de Microsoft. No obstante, si el desarrollador lo prefiere, también pueden utilizarse otros IDE que admitan un entorno C#.
  2. Crear Aplicación de Consola: Siga los pasos para crear una simple Aplicación de Consola.

    • Abra Visual Studio y haga clic en "Crear un proyecto".

      Cómo leer archivos CSV en C#, Figura 2: Ventana de nuevo proyecto

           **Nueva ventana de proyecto**
    • Elija "Aplicación de consola" en la lista de opciones disponibles. Asegúrese de que el lenguaje seleccionado es C#.

      Cómo leer archivos CSV en C#, Figura 3: Crear una nueva aplicación de consola

           **Crear una nueva aplicación de consola**
    • A continuación, ponle el nombre que quieras a tu proyecto.

      Cómo leer archivos CSV en C#, Figura 4: Configuración

           **Configuración**
    • El siguiente paso en la configuración del proyecto es seleccionar .NET Framework. La última versión disponible es .NET 7.0, compatible con el plazo estándar. Sin embargo, para evitar posibles errores, puede optar por la versión más estable de .NET 6.0, ya que Microsoft ofrece soporte a largo plazo para ella. Es importante elegir la versión adecuada en función de sus necesidades específicas.
  3. IronXL - Es la librería .NET Excel que está diseñada para trabajar con hojas de cálculo Excel. Debe instalarlo en su aplicación C# antes de utilizarlo. Puede descargar e instalar el paquete desde varias fuentes:
    1. NuGet - el gestor de paquetes para .NET. Puede descargar IronXL directamente desde Sitio web de NuGet.
    2. visual Studio NuGet Package Manager_: Abre el Gestor de paquetes yendo a Herramientas > Gestor de paquetes NuGet > Gestionar paquetes para solución...**
    3. Descargar el IronXL .NET Excel DLL zip file_ directamente desde el sitio web de Iron y añádalo a la Solución del Proyecto como referencia del proyecto.

Añadir espacio de nombres IronXL

Una vez que tenga los requisitos previos, el siguiente paso es añadir el espacio de nombres IronXL en la parte superior del código fuente en el archivo main.cs:

using IronXL;
using IronXL;
Imports IronXL
VB   C#

Abrir un archivo CSV existente

IronXL ofrece una forma sencilla de leer archivos CSV en C#. En primer lugar, abra un archivo CSV para leerlo. Es un tipo de archivo basado en filas y columnas. Aquí, el Libro de trabajo junto con su clase CargarCSV para abrir un archivo CSV. El código es el siguiente:

var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
VB   C#

El método LoadCSV en IronXL le permite abrir un archivo CSV y convertirlo a formato XLSX. Este método proporciona opciones para especificar el delimitador de lista utilizado en el archivo CSV. En este ejemplo, se utiliza el delimitador por defecto, que es una coma. El archivo resultante se abre y puede seguir procesándose utilizando las funciones de IronXL para leer y manipular hojas de cálculo de Excel.

Cómo leer un archivo CSV en C#, Figura 5: Archivo CSV

**Archivo CSV

Obtener hoja de cálculo de la clase CSV Reader

En el paso anterior, el archivo CSV se abrió como un libro de Excel utilizando IronXL. Ahora, obtenga la hoja de cálculo por defecto del libro de trabajo utilizando la función Hoja de trabajo clase. El siguiente ejemplo muestra cómo obtener la hoja de cálculo para leer datos CSV:

WorkSheet ws = workbook.DefaultWorkSheet;
WorkSheet ws = workbook.DefaultWorkSheet;
Dim ws As WorkSheet = workbook.DefaultWorkSheet
VB   C#

Para obtener más información sobre cómo trabajar con hojas de cálculo de Excel, puede visitar este enlace página de ejemplos de código.

Leer datos CSV usando C# DataTable

Una vez que el CSV se ha cargado correctamente y los datos están disponibles como una hoja de cálculo, los datos se pueden leer desde el archivo CSV muy fácilmente en una DataTable de C#.

Convertir hoja de cálculo en tabla de datos

En primer lugar, cree una instancia de DataTable y convierta los datos de la hoja de cálculo en una tabla utilizando la función ToDataTable método. El siguiente código ayuda a realizar esta tarea:

DataTable dt = ws.ToDataTable(true);
DataTable dt = ws.ToDataTable(true);
Dim dt As DataTable = ws.ToDataTable(True)
VB   C#

Iniciar la lectura de datos CSV

Ahora, itera a través de todos los registros utilizando la instancia DataTable. Los datos se reciben en filas y columnas. Primero, desplázate por cada columna para obtener su valor. Para obtener todos los registros junto con la fila de cabecera, utilice el siguiente fragmento de código:

foreach (DataRow row in dt.Rows) //filas de acceso
{
    for (int i = 0; i < dt.Columns.Count; i++) //acceder a las columnas de la fila correspondiente
    {
        Console.Write(row [i] + "  "); //formato de salida 
    }
    Console.WriteLine();
}
foreach (DataRow row in dt.Rows) //filas de acceso
{
    for (int i = 0; i < dt.Columns.Count; i++) //acceder a las columnas de la fila correspondiente
    {
        Console.Write(row [i] + "  "); //formato de salida 
    }
    Console.WriteLine();
}
For Each row As DataRow In dt.Rows 'filas de acceso
	For i As Integer = 0 To dt.Columns.Count - 1 'acceder a las columnas de la fila correspondiente
		Console.Write(row (i) & "  ") 'formato de salida
	Next i
	Console.WriteLine()
Next row
VB   C#

En el código anterior, se utiliza un bucle foreach para obtener un único registro de una colección de filas. A continuación, dentro de un bucle for anidado, se cuenta el número de columnas y, por último, se imprimen en pantalla los datos de cada fila. El formato de salida es similar al de un archivo CSV.

Cómo leer un archivo CSV en C#, Figura 6: Salida

Salida

Resumen

Este artículo muestra cómo crear un lector CSV en C# utilizando la librería IronXL. Cargar archivos CSV es fácil con IronXL ya que soporta el formato CSV en hojas de cálculo Excel. el objeto DataTable se utiliza para crear un elegante lector CSV y formatear la salida para que coincida con el archivo original.

IronXL también ofrece conversión entre distintos formatos de archivo y permite crear archivos Excel desde cero sin necesidad de tener instalados Interop y Microsoft Excel. También es compatible con DataSet y DataTable de C#, lo que proporciona a los desarrolladores flexibilidad a la hora de interconvertir datos sin depender de aplicaciones de terceros. Con sus potentes funciones, IronXL es una valiosa herramienta para que los desarrolladores de C# trabajen con hojas de cálculo Excel y manejen datos CSV de forma eficaz.

IronXL es gratuito para el desarrollo. Sin embargo, para uso comercial, es necesario adquirir su licencia a partir de $599. También puede utilizar su prueba gratuita para comprobar la compatibilidad de su .dll compilada con su proyecto en modo de producción.

< ANTERIOR
Cómo convertir un conjunto de datos a Excel en C#
SIGUIENTE >
Cómo Obtener el Valor de una Celda de un Archivo Excel en C#

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

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