Saltar al pie de página
USANDO IRONXL

Cómo leer un archivo CSV en un DataTable en C#

Convertir archivos CSV a DataTable en C# es sencillo con IronXL: utilice WorkBook.LoadCSV() para leer cualquier archivo CSV y, a continuación, llame a ToDataTable(true) para crear un DataTable estructurado con los encabezados de columna adecuados, listo para la importación de bases de datos o la manipulación de datos.

Trabajar con archivos CSV es una tarea habitual para los desarrolladores de .NET, ya sea para importar informes de ventas, procesar el inventario o sincronizar registros de clientes. Convertir un archivo CSV en un DataTable facilita su manipulación, análisis o inserción en una tabla de base de datos. La biblioteca IronXL ofrece una solución completa para gestionar operaciones de Excel y CSV en aplicaciones C#, sin necesidad de instalar Excel.

Leer archivos CSV en C# puede resultar complicado. Los archivos de gran tamaño, los diferentes delimitadores o las comas incrustadas suelen requerir una lógica de análisis sintáctico compleja. IronXL simplifica esto: con sólo unas pocas líneas de código, puede leer archivos CSV desde cualquier ruta de archivo, convertirlos en un DataTable con encabezados de columna adecuados, y prepararlos para operaciones de base de datos a granel. Este enfoque resulta especialmente útil cuando se trabaja con datos de Excel en C#.

En esta guía, aprenderás a:

  • Cargar un archivo CSV en un DataTable en C# usando Capacidades de lectura CSV de IronXL
  • Manejar diferentes delimitadores como comas, tabulaciones o punto y coma
  • Importe su DataTable directamente a SQL Server de forma eficaz utilizando la funcionalidad de exportación
  • Gestiona grandes conjuntos de datos de forma fiable sin problemas de memoria

Al final, dispondrá de un flujo de trabajo completo y práctico para convertir datos CSV en información útil utilizando IronXL en sus aplicaciones .NET 10.


¿Por qué es importante la conversión de CSV a DataTable?

La conversión de CSV a DataTable permite a los desarrolladores transformar valores separados por comas en objetos estructurados para su posterior procesamiento. Tanto si maneja datos de inventario, registros de clientes o registros de transacciones, convertir CSV a DataTable de forma eficiente es crucial. Utilizando la primera fila como encabezados de columna, puede asegurarse de que las columnas de DataTable se alinean con el esquema de su tabla de base de datos, lo que la hace perfecta para operaciones de Excel a DataSet.

Los enfoques tradicionales a menudo enfrentan dificultades con archivos grandes, diferentes delimitadores o gestión de memoria. IronXL elimina estos retos y gestiona diferentes delimitadores, campos entre comillas y comas incrustadas sin código adicional. Las capacidades de lectura de CSV de IronXL eliminan los problemas habituales al tiempo que ofrecen funciones adicionales como la validación de datos y el control del tamaño de los archivos.

¿Cuándo debería usar DataTable en lugar de otras estructuras de datos?

DataTables funcionan bien cuando se necesitan operaciones de tipo base de datos en memoria. Son ideales para situaciones que impliquen importaciones de SQL Server, enlace de datos a controles de la interfaz de usuario o cuando sea necesario realizar consultas LINQ sobre datos estructurados. A diferencia de las simples matrices o listas, DataTables proporciona validación de esquemas, relaciones entre tablas e integración directa con ADO.NET. Para situaciones más complejas, también puede convertir entre DataSet y DataTable según sea necesario.

¿Cuáles son los problemas habituales del análisis sintáctico tradicional de archivos CSV?

El análisis manual de archivos CSV suele fallar en casos extremos: comas incrustadas dentro de campos entre comillas, saltos de línea en los valores de las celdas o un uso inconsistente de los delimitadores. El consumo de memoria se convierte en un problema con archivos grandes cuando se carga todo en la memoria de una sola vez. Los problemas de codificación de caracteres pueden corromper los datos internacionales, mientras que la inferencia de tipos a menudo malinterpreta las cadenas numéricas como números. Estos retos son la razón por la que una biblioteca de análisis sintáctico estructurado como IronXL se ha convertido en algo esencial para las aplicaciones de producción.

¿Cómo se evitan los problemas de memoria con archivos CSV de gran tamaño?

IronXL implementa técnicas de lectura en búfer para gestionar archivos CSV de gran tamaño de forma eficiente. En lugar de cargar archivos completos en la memoria de una sola vez, procesa los datos por partes, lo que mantiene un bajo consumo de memoria incluso con archivos de gran tamaño. Esto la hace adecuada para entornos de servidor con recursos limitados, incluidas las implementaciones en la nube donde la asignación de memoria es limitada.


¿Cómo se instala IronXL?

Para empezar a utilizar IronXL, solo hay que instalar un sencillo paquete de NuGet. Abre la Consola del Administrador de Paquetes NuGet en Visual Studio y ejecuta:

Install-Package IronXL
Install-Package IronXL
SHELL

O si prefieres la CLI de .NET:

dotnet add package IronXL
dotnet add package IronXL
SHELL

Una vez instalado, agrega el espacio de nombres IronXL a tu proyecto:

using IronXL;
using System.Data;
using IronXL;
using System.Data;
Imports IronXL
Imports System.Data
$vbLabelText   $csharpLabel

Esto proporciona acceso a todas las capacidades de procesamiento de CSV sin ninguna dependencia de Excel. Para obtener más detalles, consulte la documentación de IronXL y la guía de instalación de NuGet.

¿Cuáles son los requisitos del sistema para IronXL?

IronXL es compatible con .NET Framework 4.6.2+ y .NET Core/5/6/7/8/9/10, lo que lo hace compatible con aplicaciones modernas y heredadas. Funciona en plataformas Windows, Linux y macOS. Para entornos con requisitos especiales, consulte la página de características de IronXL para verificar la compatibilidad con la plataforma. Hay disponible una licencia Trial para evaluar todas las funciones antes de la compra.

¿Cómo se comprueba que la instalación se ha realizado correctamente?

Crea un programa de prueba que cargue un archivo CSV para verificar la instalación. Si aparece algún mensaje sobre la licencia, deberá obtener una clave de licencia. Comprueba las referencias de paquetes en tu archivo de proyecto para asegurarte de que IronXL aparece con la versión correcta. Ejecute una operación básica de lectura de CSV: si se completa sin errores, su instalación funciona correctamente.


¿Cómo convertir un archivo CSV a DataTable?

El flujo de trabajo principal en IronXL requiere solo unas pocas líneas de código. A continuación se explica cómo leer un archivo CSV y convertirlo en un DataTable utilizando sentencias de nivel superior en C# 10+:

using IronXL;
using System.Data;

// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
    fileFormat: ExcelFileFormat.XLSX);

// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);

// Display the data
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System.Data;

// Load CSV file into a WorkBook object
WorkBook workbook = WorkBook.LoadCSV("sales_data.csv",
    fileFormat: ExcelFileFormat.XLSX);

// Access the default worksheet
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Convert to DataTable with headers
DataTable dataTable = worksheet.ToDataTable(true);

// Display the data
foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item}\t");
    }
    Console.WriteLine();
}
Imports IronXL
Imports System.Data

' Load CSV file into a WorkBook object
Dim workbook As WorkBook = WorkBook.LoadCSV("sales_data.csv", fileFormat:=ExcelFileFormat.XLSX)

' Access the default worksheet
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet

' Convert to DataTable with headers
Dim dataTable As DataTable = worksheet.ToDataTable(True)

' Display the data
For Each row As DataRow In dataTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}" & vbTab)
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

El método LoadCSV analiza su archivo CSV automáticamente, manejando los campos entrecomillados y las comas incrustadas. El parámetro fileFormat indica a IronXL cómo interpretar los datos CSV internamente, asegurando que se traten como una estructura compatible con Excel. Una vez cargado, el método ToDataTable(true) convierte la hoja de cálculo en un DataTable, con el parámetro true que indica que la primera fila debe utilizarse como encabezado de columna. El resultado es un DataTable limpio y estructurado con columnas nombradas que coinciden con las cabeceras de su CSV. Para opciones de manipulación más avanzadas, consulta la guía práctica completa de IronXL.

El proceso de conversión también conserva los tipos de datos: los números siguen siendo numéricos, las fechas se analizan correctamente y los campos de texto mantienen su formato. Esta inferencia automática de tipos ahorra un tiempo de desarrollo considerable en comparación con los métodos de análisis sintáctico manual. En los casos que requieran un formato de datos personalizado, puede aplicar el formato de celda antes de la conversión.

¿Qué controla el parámetro ToDataTable?

El parámetro booleano en ToDataTable() determina el manejo de la fila de encabezado. Cuando se establece en true, la primera fila se convierte en nombres de columna en su DataTable, creando referencias de campo significativas como CustomerName en lugar de Column1. Cuando se utiliza false, se asignan nombres genéricos a las columnas, lo que resulta útil para archivos CSV sin encabezado. Esta flexibilidad es compatible con diversos formatos CSV que se encuentran en aplicaciones del mundo real. En casos más complejos, puede ser necesario abrir libros de trabajo con opciones personalizadas para gestionar varios rangos de datos.

¿Cómo se gestionan los archivos CSV sin encabezados?

Para archivos CSV sin encabezado, utilice ToDataTable(false) y asigne manualmente los nombres de las columnas después. Puede iterar a través de la colección Columns y establecer nombres significativos basados en su esquema de datos. Como alternativa, añade una fila de encabezado a tu CSV mediante programación antes de cargarlo. IronXL también permite crear archivos de Excel desde cero si necesitas añadir encabezados a datos existentes.

¿Qué implicaciones tiene el uso de archivos CSV de gran tamaño en el rendimiento?

IronXL procesa grandes archivos CSV de forma eficiente utilizando técnicas de almacenamiento en búfer. Los archivos de menos de 100 MB suelen cargarse en segundos. El uso de memoria se mantiene controlado independientemente del tamaño del archivo gracias al almacenamiento en búfer inteligente. Para obtener un rendimiento óptimo con conjuntos de datos masivos, considere el procesamiento por lotes utilizando técnicas de selección de rangos. La página de características de IronXL documenta en detalle las características de rendimiento.


¿Cómo importar un DataTable a SQL Server?

Una vez que tengas tu DataTable, importarlo a SQL Server se vuelve eficiente usando SqlBulkCopy. El siguiente ejemplo utiliza sentencias de nivel superior de C#:

using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;

// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
    "Integrated Security=True;TrustServerCertificate=True;";

// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);

// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);

// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";

// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");

// Set batch size for better performance
bulkCopy.BatchSize = 1000;

// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);

Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
using System.Data;
using Microsoft.Data.SqlClient;
using IronXL;

// Create connection string
string connectionString = "Data Source=localhost;Initial Catalog=SalesDB;" +
    "Integrated Security=True;TrustServerCertificate=True;";

// Read CSV into DataTable
WorkBook workbook = WorkBook.LoadCSV("inventory_report.csv");
DataTable dataTable = workbook.DefaultWorkSheet.ToDataTable(true);

// Bulk insert into SQL Server
using SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

using SqlBulkCopy bulkCopy = new SqlBulkCopy(connection);

// Set destination table name
bulkCopy.DestinationTableName = "dbo.Inventory";

// Map DataTable columns to SQL table columns
bulkCopy.ColumnMappings.Add("ProductCode", "product_code");
bulkCopy.ColumnMappings.Add("Quantity", "quantity");
bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated");

// Set batch size for better performance
bulkCopy.BatchSize = 1000;

// Write data to SQL Server
bulkCopy.WriteToServer(dataTable);

Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records");
Imports System.Data
Imports Microsoft.Data.SqlClient
Imports IronXL

' Create connection string
Dim connectionString As String = "Data Source=localhost;Initial Catalog=SalesDB;" &
    "Integrated Security=True;TrustServerCertificate=True;"

' Read CSV into DataTable
Dim workbook As WorkBook = WorkBook.LoadCSV("inventory_report.csv")
Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable(True)

' Bulk insert into SQL Server
Using connection As New SqlConnection(connectionString)
    connection.Open()

    Using bulkCopy As New SqlBulkCopy(connection)
        ' Set destination table name
        bulkCopy.DestinationTableName = "dbo.Inventory"

        ' Map DataTable columns to SQL table columns
        bulkCopy.ColumnMappings.Add("ProductCode", "product_code")
        bulkCopy.ColumnMappings.Add("Quantity", "quantity")
        bulkCopy.ColumnMappings.Add("LastUpdated", "last_updated")

        ' Set batch size for better performance
        bulkCopy.BatchSize = 1000

        ' Write data to SQL Server
        bulkCopy.WriteToServer(dataTable)
    End Using
End Using

Console.WriteLine($"Successfully imported {dataTable.Rows.Count} records")
$vbLabelText   $csharpLabel

La clase SqlBulkCopy proporciona un gran rendimiento para la importación de datos a gran escala. La colección ColumnMappings asigna columnas DataTable a columnas de bases de datos con nombres diferentes, lo que garantiza la flexibilidad de su esquema de datos. La propiedad BatchSize optimiza el uso de memoria procesando los registros en trozos en lugar de cargar todo a la vez. Más información sobre las capacidades de importación y exportación de IronXL.

Para una mayor integridad de los datos, considere la posibilidad de implementar soporte para transacciones en sus operaciones de copia masiva. Esto garantiza que las importaciones parciales se puedan revertir si se producen errores. También puede utilizar las funciones de escritura de archivos Excel de IronXL para validar previamente los datos antes de importarlos.

¿Por qué BatchSize es importante para el rendimiento?

BatchSize controla cuántas filas se envían a SQL Server en cada viaje de ida y vuelta de la red. Los lotes más pequeños (100-1000 filas) reducen el uso de memoria y permiten monitorizar el progreso, pero aumentan la sobrecarga de la red. Los lotes más grandes (5000-10 000 filas) maximizan el rendimiento en redes rápidas, pero consumen más memoria. El tamaño óptimo depende del ancho de fila, la latencia de la red y la memoria disponible.

¿Cómo se gestionan las discrepancias en la asignación de columnas?

Las discrepancias en la asignación de columnas provocan excepciones en tiempo de ejecución durante las operaciones de copia masiva. Compruebe siempre que los nombres de las columnas DataTable de origen coincidan exactamente con las definiciones de asignación, incluida la distinción entre mayúsculas y minúsculas. Utilice el método GetOrdinal para validar la existencia de columnas antes de asignarlas. Para esquemas dinámicos, consulta la estructura de la tabla de destino y crea mapeos mediante programación. La guía de IronXL sobre la conversión de Excel a DataSet puede ayudar a estandarizar los nombres de las columnas antes de la importación.

¿Qué consideraciones de seguridad se aplican a las importaciones masivas?

Las importaciones masivas requieren permisos de base de datos elevados, normalmente los roles db_datawriter o bulkadmin. Utilice la autenticación integrada siempre que sea posible para evitar incluir credenciales en las cadenas de conexión. Implemente la seguridad a nivel de fila añadiendo columnas de auditoría durante la importación. Comprueba siempre los tipos y rangos de datos para evitar problemas derivados de datos CSV mal formados. Consulte la página de licencias de IronXL si necesita conocer los requisitos de implementación empresarial.


¿Cómo se manejan diferentes delimitadores de CSV?

No todos los archivos CSV usan comas. IronXL admite diversos delimitadores, lo que lo hace práctico para formatos de datos internacionales o sistemas heredados:

using IronXL;
using System;
using System.Data;
using System.IO;

// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");

// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");

// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
    lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);

WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);

// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}

// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}
using IronXL;
using System;
using System.Data;
using System.IO;

// --- Tab-delimited file ---
string tsvPath = "export_data.tsv";
WorkBook tsvWorkbook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, "\t");

// --- Semicolon-delimited file ---
string semiPath = "european_data.csv";
string tempCsv = Path.Combine(Path.GetTempPath(), "european_data_comma.csv");

// Replace semicolons with commas for proper parsing
string[] lines = File.ReadAllLines(semiPath);
for (int i = 0; i < lines.Length; i++)
{
    lines[i] = lines[i].Replace(';', ',');
}
File.WriteAllLines(tempCsv, lines);

WorkBook semiWorkbook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX);

// Print tab-delimited results
DataTable tsvTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("--- Tab-delimited File ---");
foreach (DataColumn col in tsvTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in tsvTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}

// Print semicolon-delimited results
DataTable semiTable = semiWorkbook.DefaultWorkSheet.ToDataTable(true);
Console.WriteLine("\n--- Semicolon-delimited File ---");
foreach (DataColumn col in semiTable.Columns)
    Console.Write($"{col.ColumnName}\t");
Console.WriteLine();
foreach (DataRow row in semiTable.Rows)
{
    foreach (var item in row.ItemArray)
        Console.Write($"{item}\t");
    Console.WriteLine();
}
Imports IronXL
Imports System
Imports System.Data
Imports System.IO

' --- Tab-delimited file ---
Dim tsvPath As String = "export_data.tsv"
Dim tsvWorkbook As WorkBook = WorkBook.LoadCSV(tsvPath, ExcelFileFormat.XLSX, ControlChars.Tab)

' --- Semicolon-delimited file ---
Dim semiPath As String = "european_data.csv"
Dim tempCsv As String = Path.Combine(Path.GetTempPath(), "european_data_comma.csv")

' Replace semicolons with commas for proper parsing
Dim lines As String() = File.ReadAllLines(semiPath)
For i As Integer = 0 To lines.Length - 1
    lines(i) = lines(i).Replace(";"c, ","c)
Next
File.WriteAllLines(tempCsv, lines)

Dim semiWorkbook As WorkBook = WorkBook.LoadCSV(tempCsv, ExcelFileFormat.XLSX)

' Print tab-delimited results
Dim tsvTable As DataTable = tsvWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine("--- Tab-delimited File ---")
For Each col As DataColumn In tsvTable.Columns
    Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In tsvTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}{ControlChars.Tab}")
    Next
    Console.WriteLine()
Next

' Print semicolon-delimited results
Dim semiTable As DataTable = semiWorkbook.DefaultWorkSheet.ToDataTable(True)
Console.WriteLine(vbCrLf & "--- Semicolon-delimited File ---")
For Each col As DataColumn In semiTable.Columns
    Console.Write($"{col.ColumnName}{ControlChars.Tab}")
Next
Console.WriteLine()
For Each row As DataRow In semiTable.Rows
    For Each item In row.ItemArray
        Console.Write($"{item}{ControlChars.Tab}")
    Next
    Console.WriteLine()
Next
$vbLabelText   $csharpLabel

Este código demuestra la carga de archivos CSV con diferentes delimitadores en objetos IronXL WorkBook. Los archivos delimitados por tabulaciones se leen utilizando "\t" como separador, mientras que los archivos delimitados por punto y coma se convierten al formato CSV estándar antes de cargarlos. Para casos más complejos relacionados con formatos de archivo, también puede explorar la posibilidad de exportar datos de Excel a diversos formatos.

¿Qué delimitadores admite IronXL de forma nativa?

IronXL admite delimitadores comunes, como comas, tabulaciones y barras verticales (|), and custom single-character delimiters through the Sobrecarga LoadCSV. Para obtener el mejor rendimiento, utilice el parámetro de delimitador integrado en lugar de preprocesar los archivos. Los delimitadores de varios caracteres requieren un preprocesamiento, tal y como se muestra en el ejemplo del punto y coma anterior. También puede fusionar celdas en el libro de trabajo resultante si necesita reorganizar los datos analizados.

¿Cómo se detecta el delimitador automáticamente?

La detección automática de delimitadores implica analizar las primeras líneas de tu archivo CSV. Cuenta las apariciones de delimitadores comunes (coma, tabulación, punto y coma, barra vertical) en cada línea. El carácter que aparezca de forma consistente con mayor frecuencia es probablemente el delimitador. IronXL no proporciona detección automática, pero puede implementar esta lógica antes de llamar a LoadCSV.


¿Qué funciones de IronXL son compatibles además del formato CSV?

IronXL ofrece mucho más que la lectura de archivos CSV. La biblioteca gestiona todo el espectro de operaciones de Excel y hojas de cálculo en C#, lo que la convierte en una única dependencia para aplicaciones centradas en datos.

Característica Descripción Más información
Leer archivos Excel Cargar archivos .xlsx, .xls y .csv y acceder a los datos de las celdas mediante programación Leer Excel
Escribir archivos Excel Crear y modificar hojas de cálculo, establecer valores, fórmulas y estilos Escribir en Excel
Crear archivos Excel Generar nuevos libros y hojas de cálculo a partir de código Crear Excel
Exportar a DataSet Convertir libros completos en objetos DataSet para escenarios con varias tablas Excel a DataSet
Formato de celdas Aplicar formatos numéricos, fuentes, colores y bordes a las celdas Formato de celdas
Importar datos Rellenar hojas de cálculo a partir de DataTable, List o fuentes de bases de datos Importar datos

¿Cómo se exporta un libro completo como un conjunto de datos?

Si su archivo CSV contiene varias secciones o necesita trabajar con varias hojas, utilice el método ToDataSet() del objeto WorkBook. Esto devuelve un DataSet que contiene un DataTable por hoja de cálculo. El tutorial "De Excel a DataSet" ofrece ejemplos de código paso a paso para este escenario.

¿Qué opciones de licencia hay disponibles?

IronXL está disponible para uso comercial con una variedad de niveles de licencia que se adaptan al tamaño de su equipo y a sus necesidades de implementación. Una licencia de prueba gratuita permite acceder al conjunto completo de funciones para su evaluación. La página de licencias documenta los planes disponibles, incluyendo la Redistribución libre de regalías y las opciones SaaS.


¿Cuáles son los próximos pasos?

IronXL convierte la importación de bases de datos CSV en un proceso sencillo y fiable. Con solo unas pocas líneas de código, puedes:

  • Lee archivos CSV desde cualquier ruta de archivo utilizando la funcionalidad LoadCSV
  • Convertir datos CSV en un DataTable con el formato de datos adecuado
  • Conservar los encabezados de columna y las columnas de DataTable mediante el análisis sintáctico automático
  • Importa millones de filas a una tabla de base de datos de forma eficiente mediante operaciones masivas

La biblioteca se encarga de las complejidades del análisis de CSV, la gestión de la memoria y las conversiones de tipos de datos, lo que le permite centrarse en su lógica de negocio en lugar de en los detalles del procesamiento de archivos. Tanto si estás creando aplicaciones ASP.NET, trabajando con Blazor o desarrollando aplicaciones de escritorio .NET 10, IronXL ofrece un procesamiento de CSV coherente y fiable en todas las plataformas.

¿Listo para comenzar? La documentación de IronXL cubre todas las características en profundidad, y una Licencia Trial le permite evaluar la biblioteca IronXL completa.

Preguntas Frecuentes

¿Cuál es la mejor manera de leer archivos CSV en un DataTable en C#?

Usando IronXL, puede leer eficientemente archivos CSV en un DataTable en C# con ejemplos de código simples proporcionados en nuestra guía para desarrolladores.

¿Por qué debería usar IronXL para la conversión de CSV a DataTable?

IronXL ofrece una API sencilla para analizar archivos CSV y convertirlos en DataTables, permitiéndole manipular y analizar fácilmente sus datos en C#.

¿Puede IronXL manejar archivos CSV grandes al convertirlos a DataTables?

Sí, IronXL está diseñado para procesar eficientemente archivos CSV grandes y convertirlos en DataTables sin problemas de rendimiento.

¿IronXL admite la manipulación de datos después de convertir CSV a DataTable?

Absolutamente, una vez que convierte un archivo CSV en un DataTable usando IronXL, puede manipular y analizar los datos fácilmente según sea necesario.

¿Cómo puedo importar datos CSV a una base de datos usando IronXL?

Después de convertir su archivo CSV en un DataTable con IronXL, puede insertar los datos en una base de datos usando conectividad estándar de bases de datos en C#.

¿Es adecuado IronXL para procesar archivos CSV en aplicaciones empresariales?

Sí, IronXL está diseñado para manejar tareas de procesamiento de CSV en aplicaciones empresariales, ofreciendo un rendimiento sólido y confiabilidad.

¿Cuáles son las ventajas de convertir archivos CSV a DataTables en C#?

Convertir archivos CSV a DataTables permite una manipulación, análisis e integración de datos más fácil con bases de datos, mejorando las capacidades de manejo de datos de su aplicación.

¿Puede usarse IronXL para otros tipos de archivos de hojas de cálculo además de CSV?

Sí, IronXL admite varios tipos de archivos de hojas de cálculo, incluidos los formatos de Excel, lo que permite capacidades versátiles de procesamiento de datos en C#.

Jordi Bardia
Ingeniero de Software
Jordi es más competente en Python, C# y C++. Cuando no está aprovechando sus habilidades en Iron Software, está programando juegos. Compartiendo responsabilidades para pruebas de productos, desarrollo de productos e investigación, Jordi agrega un valor inmenso a la mejora continua del producto. La experiencia variada lo mantiene ...
Leer más

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame