Leer archivo CSV usando C# (Tutorial con ejemplo de código)
Este tutorial demuestra cómo leer un archivo CSV usando la biblioteca IronXL C# sin instalar interop adicional, de una manera altamente eficiente y efectiva.
Cómo leer un archivo CSV línea por línea en C#
- Instalar la biblioteca C# para leer el archivo CSV línea por línea
- Utilice el método avanzado
LoadCSVpara leer el archivo CSV - Capturar la carga de un archivo inexistente con el método
Existsen C# - Convierte datos CSV en una base de datos con el método
ToDataTable - Utilice el método
SaveAspara exportar el archivo Excel, mientras que los datos CSV se convierten a Excel automáticamente
Cómo leer archivos CSV en C
Primero debes instalar IronXL antes de usarlo para leer archivos CSV en MVC, ASP.NET o .NET Core. Aquí hay un resumen básico del proceso.
Selecciona el menú Proyecto en Visual Studio, Administrar paquetes NuGet, busca IronXL.Excel e instala.
Instalar el paquete IronXL en el Administrador de Paquetes NuGet
IronXL es una gran herramienta para usar cuando necesitas leer archivos CSV en C#. El siguiente ejemplo de código muestra que puedes leer un archivo CSV usando comas u otro delimitador.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
Datos CSV para este tutorial
Se crea el objeto WorkBook. Luego se usa el método LoadCSV del objeto WorkBook para indicar el nombre del archivo CSV, su formato y los delimitadores usados en el archivo CSV que se lee, los cuales se almacenan como una matriz de cadenas. Las comas se utilizan como delimitadores en este escenario.
Después de eso, se crea un objeto WorkSheet; aquí es donde se almacenarán los contenidos del archivo CSV. Luego el archivo se renombra y almacena en un nuevo formato. Los datos del archivo CSV se organizan en la hoja de trabajo en forma tabular. La salida se verá algo así:
Datos convertidos en archivo Excel
Análisis de CSV en C# .NET
Los archivos CSV tienen varios problemas con la forma en que se manejan los saltos de línea en los campos, y cómo los campos pueden estar encerrados entre comillas, lo que impide que una simple técnica de división de cadenas funcione Split("'"). En su lugar, IronXL ofrece personalizar el delimitador usando un parámetro opcional del método LoadCSV, consulta la documentación de la API de LoadCSV para más detalles.
Registros de C#: lectura de datos CSV
En el siguiente ejemplo, se utiliza el bucle foreach para iterar sobre las filas en el archivo CSV, y se utiliza la Consola para escribir los datos en un registro.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
Accediendo a datos del archivo CSV y mostrando en la Consola
Convertir una línea de cadena de un archivo CSV al formato Excel
El procedimiento es sencillo: cargar un archivo CSV y guardarlo como un archivo Excel.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");Leer y manipular archivos CSV convertidos con IronXL
La clase WorkBook de IronXL representa una hoja de Excel y esta clase se usa para abrir un archivo Excel en C#. Los ejemplos de código a continuación cargarán el archivo Excel deseado en un objeto WorkBook:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");Se pueden encontrar objetos WorkSheet en numerosos WorkBooks. Si la hoja tiene hojas de trabajo, use WorkBook y GetWorkSheet. Si el libro de trabajo tiene hojas de trabajo, puedes obtenerlas por nombre haciendo lo siguiente:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");Código para leer los valores de las celdas:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}El siguiente ejemplo de código puede actualizar fórmulas o aplicarlas a celdas específicas después de cargar y leer el libro de trabajo y la hoja de trabajo. El siguiente es el código:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();Conclusión y oferta especial de IronXL
IronXL transforma archivos CSV a Excel con solo dos líneas de código, además del procesamiento de CSV en C#.
Sin la necesidad de Interop, usar la API de Excel de IronXL es muy fácil. Además, IronXL también ofrece una amplia gama de características para interactuar con el nivel de WorkBook, WorkSheet y Cells de Excel, como convertir entre formatos populares, formateo de datos de celda, fusionar celdas, insertar funciones matemáticas, e incluso gestionar gráficos y agregar imágenes.
Puedes iniciar sin marca de agua usando claves de licencia de prueba de IronXL.
Las licencias comienzan en $799 e incluyen un año de soporte y actualizaciones gratuitas.
IronPDF, IronXL, IronOCR, IronBarcode y el IronWebScraper son todos parte de la suite de Iron Software. Iron Software te permite comprar su paquete completo por un precio reducido. Puedes usar todas esas herramientas al precio de dos.
Esta es definitivamente una opción que vale la pena explorar.
Preguntas Frecuentes
¿Cómo puedo leer un archivo CSV en C#?
Puedes leer un archivo CSV en C# usando la biblioteca IronXL empleando el método LoadCSV, el cual te permite cargar los datos CSV en un objeto WorkBook para su posterior manipulación.
¿Cuál es la mejor manera de convertir los datos CSV a un formato Excel en C#?
La mejor manera de convertir datos CSV a un formato Excel en C# es usando IronXL. Carga tu CSV en un objeto WorkBook y utiliza el método SaveAs para guardarlo como un archivo Excel.
¿Cómo manejar archivos CSV con delimitadores personalizados en C# usando una biblioteca?
Con IronXL, puedes manejar archivos CSV con delimitadores personalizados especificando el delimitador como un parámetro opcional en el método LoadCSV.
¿Puedo convertir directamente datos CSV a un formato de base de datos en C#?
Sí, puedes convertir los datos CSV a un formato de base de datos en C# usando IronXL al utilizar el método ToDataTable, que transforma los datos en un objeto DataTable apto para operaciones de base de datos.
¿Qué métodos están disponibles para verificar archivos CSV inexistentes usando C#?
En C#, puedes usar el método Exists de IronXL para verificar si un archivo CSV existe antes de intentar cargarlo, evitando así errores relacionados con archivos inexistentes.
¿Cómo puedo manipular datos de Excel después de convertirlos de CSV en C#?
Después de convertir CSV a Excel en C#, puedes manipular los datos utilizando las funciones de IronXL como formatear, fusionar celdas, insertar funciones matemáticas y agregar gráficas o imágenes.
¿Qué ventajas ofrece IronXL para leer y convertir archivos CSV en C#?
IronXL ofrece ventajas como fácil instalación, no necesita interop adicional, soporte para delimitadores personalizados y potentes métodos para convertir y manipular datos CSV dentro de Excel.
¿Cómo se pueden manejar caracteres especiales en datos CSV en C#?
IronXL puede manejar caracteres especiales en datos CSV permitiéndote especificar la codificación de archivos y delimitadores al cargar el archivo CSV, garantizando la integridad y precisión de los datos.
¿Qué soporte está disponible para los usuarios de IronXL?
Las licencias de IronXL incluyen un año de soporte gratuito y actualizaciones, proporcionando asistencia y asegurando que tengas las últimas funciones y correcciones.







