Cómo leer archivos CSV en C# usando IronXL

Leer un archivo CSV en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL proporciona una solución de una sola línea para leer archivos CSV en C# utilizando el método LoadCSV. Admite delimitadores personalizados y conversión directa a formatos de Excel para un procesamiento de datos fluido en aplicaciones .NET.

como encabezado:2(Inicio rápido: Cargar y convertir un archivo CSV usando IronXL en una línea)

Este ejemplo muestra cómo leer un archivo CSV utilizando el método LoadCSV de IronXL y guardarlo como un libro de Excel con un código mínimo.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer

Lectura de archivos CSV en aplicaciones .NET

  • Instalar una biblioteca C# para leer archivos CSV (IronXL)
  • Leer archivos CSV en C#
  • Especifique el formato de archivo y el delimitador
How To Work related to Leer un archivo CSV en C

Paso 1

¿Cómo instalo la biblioteca IronXL?

Antes de utilizar IronXL para leer archivos CSV en MVC, ASP o .NET Core, es necesario instalarlo. He aquí un breve resumen.

¿Por qué debería usar NuGet Package Manager?

  • En Visual Studio, selecciona el menú Proyecto
  • Administrar paquetes NuGet
  • Busque IronXL.Excel
  • Instalar
Administrador de paquetes NuGet de Visual Studio instalando la biblioteca IronXL.Excel con detalles del paquete y salida de consola
class="image-description-text_strong">Figura 1 class="image-description-text_regular">- class="image-description-text_italic">Paquete NuGet IronXL.Excel

¿Cuáles son los métodos de instalación alternativos?

Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip

For .NET developers working with Docker containers, IronXL can be configured in your Docker environment. The library also supports deployment on Azure Functions and AWS Lambda for cloud-based CSV processing.


Tutorial de cómo hacerlo

¿Cómo leer archivos CSV mediante programación?

¡Ahora para el proyecto!

¿Qué espacio de nombres necesito importar?

Añada el espacio de nombres IronXL:

// This namespace is required to access the IronXL functionalities
using IronXL;
// This namespace is required to access the IronXL functionalities
using IronXL;
' This namespace is required to access the IronXL functionalities
Imports IronXL
$vbLabelText   $csharpLabel

¿Cómo cargar y convertir archivos CSV?

Agregue código para leer un archivo CSV mediante programación con IronXL y C#:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-read.cs
// Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
WorkBook workbook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ",");

// Access the default worksheet within the loaded workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Qué opciones avanzadas de lectura de CSV hay disponibles?

IronXL ofrece funciones para manejar archivos CSV con varias configuraciones. Puede especificar diferentes delimitadores (punto y coma, tabuladores, tuberías) y manejar archivos con diferentes codificaciones:

// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Qué aspecto tiene el archivo CSV antes de procesarlo?

Archivo CSV en el Bloc de notas que muestra datos de animales con las columnas Mes, Jirafas, Elefantes, Rinocerontes y 6 meses de datos de población
class="image-description-text_strong">Figura 2 class="image-description-text_regular">- class="image-description-text_italic">Un archivo CSV abierto en el Bloc de notas

¿Cómo funciona el método LoadCSV?

Se crea un objeto Workbook. El método LoadCSV del objeto Workbook especifica el archivo CSV que se va a leer, el formato en el que se va a leer y el delimitador. En este caso, se utiliza una coma como separador.

Se crea un objeto Worksheet donde se coloca el contenido del CSV. El archivo se guarda con un nuevo nombre y formato. This process is useful when you need to convert between different spreadsheet formats.

Hoja de cálculo Excel que muestra datos CSV con columnas para Mes, Jirafas, Elefantes y Rinocerontes con 6 meses de datos de recuento de animales
class="image-description-text_strong">Figura 3 class="image-description-text_regular">– class="image-description-text_italic">El archivo CSV abierto en Excel

¿Puedo procesar archivos CSV de gran tamaño de forma eficiente?

IronXL está optimizado para el rendimiento y maneja grandes archivos CSV de manera eficiente. For developers working with substantial datasets, the library offers significant performance improvements in recent versions. Al procesar archivos de gran tamaño, tenga en cuenta estas prácticas recomendadas:

// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Cómo puedo exportar datos CSV a otros formatos?

Después de leer los archivos CSV, es posible que tengas que exportar los datos a varios formatos. IronXL supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. A continuación se explica cómo exportar a distintos formatos:

// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAs("output_custom.csv", ";");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Qué hay de trabajar con datos CSV en aplicaciones web?

For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. Puede cargar y procesar archivos CSV en sus proyectos MVC o Web API:

// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

¿Cómo manejar archivos CSV con datos complejos?

Cuando se trabaja con archivos CSV que contienen fórmulas, caracteres especiales o tipos de datos mixtos, IronXL ofrece sólidas capacidades de manejo. You can work with formulas and format cell data appropriately:

// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Acceso rápido a la biblioteca

Documentación de referencia de la API de IronXL

Obtenga más información y comparta cómo fusionar, separar y trabajar con celdas en hojas de cálculo de Excel utilizando la práctica documentación de referencia de API de IronXL.

Documentación de referencia de la API de IronXL
Documentation related to ¿Cómo manejar archivos CSV con datos complejos?

Preguntas Frecuentes

¿Cómo puedo leer archivos CSV en C# rápidamente?

IronXL proporciona una solución de una sola línea para leer archivos CSV en C# utilizando el método LoadCSV. Simplemente use: WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); Esto carga su archivo CSV y le permite guardarlo como un libro de Excel con wb.SaveAs("output.xlsx").

¿Qué métodos de instalación están disponibles para la biblioteca de lectura CSV?

Puedes instalar IronXL a través del gestor de paquetes NuGet en Visual Studio buscando 'IronXL.Excel', o descargarlo directamente desde el sitio web de Iron Software. La biblioteca también es compatible con contenedores Docker, Azure Functions y AWS Lambda para el procesamiento de CSV basado en la nube.

¿Puedo utilizar delimitadores personalizados al leer archivos CSV?

Sí, IronXL admite varios delimitadores, incluidos puntos y comas, tabulaciones y tuberías. Puede especificar el delimitador utilizando el parámetro listDelimiter en el método LoadCSV, por ejemplo WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ";").

¿Qué espacio de nombres debo importar para la función de lectura de CSV?

Debe agregar 'using IronXL;' en la parte superior de su archivo de C# para acceder a todas las funcionalidades de IronXL para leer y procesar archivos CSV.

¿Cómo puedo acceder a valores de celda específicos después de cargar un archivo CSV?

Después de cargar un archivo CSV con el método LoadCSV de IronXL, puede acceder a celdas específicas usando: var cellValue = workbook.DefaultWorkSheet["A1"].Value; Esto le permite recuperar y manipular datos de celdas individuales de su CSV cargado.

¿Es compatible la biblioteca con diferentes codificaciones de archivos al leer archivos CSV?

Sí, IronXL admite varias codificaciones, incluida UTF8. Puede especificar el parámetro de codificación al cargar archivos CSV: WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8).

¿Puedo convertir archivos CSV a formato Excel directamente?

Sí, IronXL permite la conversión directa de formatos CSV a Excel. Después de cargar un archivo CSV con LoadCSV, puede guardarlo inmediatamente como un archivo de Excel utilizando el método SaveAs, especificando formatos como XLSX o XLS.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 1,765,830 | Versión: 2025.12 recién lanzado