USO DE IRONXL

Leer Archivo CSV Usando C# (Tutorial de Ejemplo de Código)

Actualizado 29 de junio, 2022
Compartir:

Este tutorial demuestra cómo leer un archivo CSV usando la librería IronXL C# sin instalar interoperabilidad adicional, de una manera altamente eficiente y efectiva.

Cómo leer archivos CSV en C#

Primero debe instalar IronXL antes de utilizarlo para leer archivos CSV en MVC, ASP.NET o .NET Core. He aquí un resumen básico del proceso.

Seleccione el menú Proyecto en Visual Studio, Administrar paquetes NuGet, y Buscar IronXL.Excel, e Instalar.

Leer archivo CSV usando C# (Tutorial de ejemplo de código), Figura 1: Instalar el paquete IronXL en el gestor de paquetes NuGet

Instale el paquete IronXL en el gestor de paquetes NuGet.

IronXL es una gran herramienta que puede utilizar cuando necesite leer archivos CSV en C#. El siguiente ejemplo de código muestra que puede leer un archivo CSV utilizando comas u otro delimitador.

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
workbook.SaveAs("Csv_To_Excel.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet
workbook.SaveAs("Csv_To_Excel.xlsx")
VB   C#

Leer archivo CSV con C# (Tutorial de ejemplo de código), Figura 2: Datos CSV para este tutorial

**Datos en formato CSV para este tutorial

El objeto Libro de trabajo se crea. El objeto `WorkBook CargarCSV se utiliza para indicar el nombre del archivo CSV, su formato y los delimitadores utilizados en el archivo CSV que se está leyendo, que se almacenan como una matriz de cadenas. Las comas se utilizan como delimitadores en este escenario.

Después de eso, un Hoja de trabajo se crea el objeto; aquí es donde se almacenará el contenido del archivo CSV. A continuación, se cambia el nombre del archivo y se almacena en un nuevo formato. A continuación, los datos del archivo CSV se ordenan en la hoja de cálculo en forma de tabla. El resultado será algo parecido a esto:

Lectura de archivos CSV mediante C# (Tutorial de ejemplo de código), Figura 3: Datos convertidos en archivo Excel

Datos convertidos en fichero Excel

Análisis sintáctico de CSV en C# .NET

Los CSV tienen varios problemas con el tratamiento de los saltos de línea en los campos y con el hecho de que los campos puedan ir entre comillas, lo que impide que funcione una simple técnica de división de cadenas Split("'"). En su lugar, IronXL ofrece personalizar el delimitador utilizando un parámetro opcional del método LoadCSV, consulte la documentación de la API de CargarCSV para más detalles.

C# Registros - Lectura de datos CSV

En el ejemplo siguiente, el foreach se utiliza para recorrer las filas del archivo CSV, y la Consola se utiliza para escribir los datos en un registro.

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//convertir la hoja1 del archivo sample.xlsx en una tabla de datos
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] + "  ");
    }
    Console.WriteLine();
}
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;
DataTable dt = ws.ToDataTable(true);//convertir la hoja1 del archivo sample.xlsx en una tabla de datos
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] + "  ");
    }
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Leer archivo CSV usando C# (Tutorial de ejemplo de código), Figura 4: Acceder a los datos del archivo CSV y mostrarlos en la consola

Acceder a los datos de un fichero CSV y visualizarlos en la consola

Conversión de una línea de archivo CSV a formato Excel

El procedimiento es sencillo: cargar un archivo CSV y guardarlo como archivo Excel.

WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
WorkSheet ws = workbook.DefaultWorkSheet;

workbook.SaveAs("CsvToExcelConversion.xlsx");
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
Dim ws As WorkSheet = workbook.DefaultWorkSheet

workbook.SaveAs("CsvToExcelConversion.xlsx")
VB   C#

Leer y manipular archivos CSV convertidos con IronXL

La clase IronXL WorkBook representa una hoja de Excel y utiliza esta clase para abrir un archivo de Excel en C#. Los siguientes ejemplos de código cargarán el archivo Excel deseado en un objeto WorkBook:

//Cargar WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
//Cargar WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
'Cargar WorkBook
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
VB   C#

Los objetos WorkSheet pueden encontrarse en numerosos WorkBooks. Son las hojas de cálculo del documento Excel. Si el libro de trabajo tiene hojas de cálculo, puede obtenerlas por nombre haciendo lo siguiente:

//Hoja abierta a la lectura
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
//Hoja abierta a la lectura
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
'Hoja abierta a la lectura
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
VB   C#

Código para leer los valores de las celdas:

//  Lee desde Rangos de células con elegancia.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
//  Lee desde Rangos de células con elegancia.
foreach (var cell in worksheet ["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
'  Lee desde Rangos de células con elegancia.
For Each cell In worksheet ("A2:A10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
VB   C#

El siguiente ejemplo de código puede actualizar fórmulas o aplicarlas a celdas específicas después de cargar y leer el libro y la hoja de trabajo. El código es el siguiente:

//  Establecer fórmulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";

//  Forzar el recálculo de todos los valores de las fórmulas en todas las hojas.    
workbook.EvaluateAll();
//  Establecer fórmulas
worksheet ["A1"].Formula = "Sum(B8:C12)";
worksheet ["B8"].Formula = "=C9/C11";
worksheet ["G30"].Formula = "Max(C3:C7)";

//  Forzar el recálculo de todos los valores de las fórmulas en todas las hojas.    
workbook.EvaluateAll();
'  Establecer fórmulas
worksheet ("A1").Formula = "Sum(B8:C12)"
worksheet ("B8").Formula = "=C9/C11"
worksheet ("G30").Formula = "Max(C3:C7)"

'  Forzar el recálculo de todos los valores de las fórmulas en todas las hojas.    
workbook.EvaluateAll()
VB   C#

Conclusión y oferta especial IronXL

IronXL transforma CSV a Excel con sólo dos líneas de código, además de procesar CSV en C#.

Sin necesidad de Interop, utilizar la API Excel de IronXL es pan comido. Además, IronXL también ofrece una amplia gama de funciones para interactuar con Excel WorkBook, WorkSheet y Cells level, tales como conversión entre formatos populares, formato de datos de celda, fusión de celdas, insertar funciones matemáticas e incluso la gestión de gráficos y añadir imágenes.

Puede lanzar sin marca de agua utilizando Claves de licencia de prueba de IronXL.

Las licencias cuestan a partir de $599 e incluyen un año de asistencia y actualizaciones gratuitas.

IronPDF, IronXL, IronOCR, IronBarcode y IronWebscraper forman parte de la suite Iron Software. Iron Software le permite adquirir su paquete completo a un precio reducido. Puedes utilizar todas esas herramientas al precio de dos.

Sin duda, es una opción que merece la pena explorar.

< ANTERIOR
Cómo utilizar un analizador CSV en C#
SIGUIENTE >
C# Abrir Archivo Excel Programáticamente (Tutorial de Ejemplo de Código)

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

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