USO DE IRONXL

Cómo leer archivos CSV en C#

Actualizado 24 de marzo, 2024
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. Permiteguardar archivos Excel en diferentes formatos ycargar 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áginaSitio 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 desdeSitio 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 deleer archivos CSV en C#. En primer lugar, abra un archivo CSV para leerlo. Es un tipo de archivo basado en filas y columnas. Aquí, elLibro de trabajo junto con su claseCargarCSV 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ónHoja 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 enlacepá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ónToDataTable 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) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
foreach (DataRow row in dt.Rows) //access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
    {
        Console.Write(row [i] + "  "); //format output 
    }
    Console.WriteLine();
}
For Each row As DataRow In dt.Rows 'access rows
	For i As Integer = 0 To dt.Columns.Count - 1 'access columns of corresponding row
		Console.Write(row (i) & "  ") 'format output
	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 ofrececonversió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 sulicencia a partir de $749. También puede utilizar suprueba 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.11 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,111,773 Ver licencias >