Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Este artículo explorará cómo crear un Lector CSV en C# utilizando la librería IronXL.
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.
Para convertir datos de un archivo CSV a un archivo Excel y leerlos en C#, necesitamos las siguientes herramientas:
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".
Nueva ventana de proyecto
Elija "Aplicación de consola" en la lista de opciones disponibles. Asegúrese de que el lenguaje seleccionado es C#.
Crear una nueva aplicación de consola
A continuación, ponle el nombre que quieras a tu proyecto.
Configuración
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
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:= ",")
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.
**Archivo CSV
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
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.
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#.
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)
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
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.
Salida
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.
9 productos API .NET para sus documentos de oficina