IRONSOFTWAREHOME
USANDO IRONXL

Cómo importar CSV a tabla de datos en C#

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Bienvenido a este tutorial para principiantes sobre cómo importar archivos CSV (valores separados por comas) a un DataTable en C# usando IronXL. Esta guía te proporcionará un enfoque fácil de seguir, asegurando que, incluso si eres nuevo en C#, encuentres este proceso sencillo. Cubrirémos cada paso, desde la configuración del entorno hasta la escritura del código fuente. Al final de este tutorial, tendrás una comprensión clara de cómo convertir datos CSV en un DataTable, gestionar columnas de DataTable y manejar varios aspectos de documentos CSV en C# utilizando un lector de archivos e IronXL.

Prerrequisitos

Antes de comenzar, asegúrate de tener:

  • Conocimientos básicos de C#
  • Visual Studio instalado en tu máquina local
  • La biblioteca IronXL, que se puede obtener a través del Administrador de Paquetes NuGet

Entendiendo los conceptos básicos

¿Qué es un archivo CSV?

Un archivo CSV (Archivo de Valores Separados por Coma) es un tipo de archivo de texto simple que utiliza una estructura específica para organizar datos tabulares. Es un formato común para intercambio de datos ya que CSV es simple, compacto y funciona con numerosas plataformas. En un archivo CSV, los datos están separados por comas, y cada nueva línea significa una nueva fila, con los encabezados de columna usualmente presentes en la primera fila.

Understanding DataTables in C#

Un DataTable es parte de la biblioteca ADO.NET en C# y representa una única tabla de datos en memoria. Está compuesto por filas y columnas, y cada columna puede ser de un tipo de dato diferente. Los DataTables son altamente flexibles y pueden representar datos en un formato estructurado, haciéndolos ideales para manejar datos de archivos CSV.

Configuración de su proyecto

Paso 1: Crear un nuevo proyecto C#

  1. Abre Visual Studio.
  2. Selecciona Archivo > Nuevo > Proyecto.
  3. Elige una aplicación de Consola C# o de Windows Forms, y nómbrala adecuadamente.

Paso 2: Instalar IronXL

IronXL es una biblioteca poderosa que te permite trabajar con archivos Excel y CSV en C#. Para usarla, necesitas instalarla vía el Administrador de Paquetes NuGet. En Visual Studio:

  1. Ve a Herramientas > Administrador de Paquetes NuGet > Administrar Paquetes NuGet para la Solución.
  2. Busca IronXL.Excel.

Cómo importar CSV a Datatable en C#: Figura 1 - IronXL

  1. Instala el paquete en tu proyecto.

Lectura de archivos CSV en tablas de datos con IronXL

Paso 1: Configure su entorno

using IronXL;
using System.Data;

Estas declaraciones using incluyen los espacios de nombres necesarios para nuestra tarea.

Paso 2: Crear un método para importar CSV

Define una clase, CsvToDataTable, con un método estático ImportCsvToDataTable. Este método será responsable de convertir el archivo CSV en un DataTable.

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Code snippet to import CSV will be placed here
        return null; // Placeholder return statement
    }
}

Paso 3: Cargar el archivo CSV

Dentro del método ImportCsvToDataTable, comienza cargando el archivo CSV. IronXL proporciona una manera sencilla de hacer esto:

// Load the CSV file
WorkBook workbook = WorkBook.LoadCSV(filePath);

WorkBook.LoadCSV es un método en IronXL para cargar archivos CSV. Aquí, filePath es la ruta de tu archivo CSV.

Paso 4: Convertir CSV a DataTable

Convierte los datos CSV cargados en un DataTable. Este paso es crucial ya que transforma los datos en un formato que puede ser fácilmente manipulado y mostrado dentro de una aplicación C#.

// Get the first worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
// Convert CSV worksheet to DataTable
DataTable dataTable = sheet.ToDataTable();
return dataTable;

Este fragmento convierte los datos CSV en un DataTable. DefaultWorkSheet obtiene la primera hoja de cálculo del libro de trabajo, equivalente a todos los datos del CSV en el caso de un archivo CSV. El método ToDataTable es una potente característica de IronXL que mapea eficientemente los datos del CSV a una estructura DataTable, incluyendo una fila de encabezado de columna si está presente en la primera fila del archivo CSV.

Paso 5: Utilice el método en su aplicación

Ahora, utiliza el método ImportCsvToDataTable en tu aplicación. Por ejemplo, podrías querer llamar a este método cuando la aplicación se inicie o cuando el usuario suba un archivo CSV.

// Usage
string csvFilePath = "csvfile.csv";
DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath);

Este fragmento de código demuestra cómo llamar al método ImportCsvToDataTable. Reemplaza "csvfile.csv" con la ruta real de tu archivo CSV.

Paso 6: Trabajar con la tabla de datos de salida

Una vez que tienes el DataTable, puedes realizar varias operaciones como mostrar los datos en una interfaz de usuario, filtrar, o procesar los datos. Aquí hay algunos ejemplos:

Visualización de datos en una aplicación de consola

foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item} ");
    }
    Console.WriteLine();
}

Este código itera a través de cada fila y columna en el DataTable y imprime los datos en la consola.

Filtrado de datos

Puedes utilizar LINQ para filtrar datos en el DataTable. Por ejemplo, si deseas seleccionar filas donde una columna específica cumple con una condición:

var filteredRows = dataTable.AsEnumerable()
                            .Where(row => row.Field<string>("ColumnName") == "SomeValue");

Reemplaza "ColumnName" y "SomeValue" por el nombre de la columna y el valor que estás filtrando.

Fragmento de código completo

Aquí está el código fuente completo que puedes usar en tu proyecto:

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

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Check if the file exists
        if (!File.Exists(filePath))
        {
            throw new FileNotFoundException($"The file at {filePath} was not found.");
        }

        // Load the CSV file
        WorkBook workbook = WorkBook.LoadCSV(filePath);
        // Get the first worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert the worksheet to DataTable
        DataTable dataTable = sheet.ToDataTable();
        return dataTable;
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Usage
        try
        {
            string filePath = "sample_data.csv"; // CSV file path
            DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath);
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write($"{item} ");
                }
                Console.WriteLine();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

Puede usar este código en el archivo Program.cs. No olvide agregar la licencia de IronXL si está trabajando en el entorno de producción.

Salida del código

Una vez que ejecutas el código, cargará el archivo CSV e importará sus datos al DataTable. Después, mostrará el contenido de las columnas del DataTable en la consola. Ayuda a verificar que los datos se hayan importado correctamente al DataTable.

Cómo importar CSV a Datatable en C#: Figura 2 - Salida

Manejo de diferentes escenarios

En escenarios del mundo real, los archivos CSV pueden variar significativamente en formato y estructura. Es importante manejar estas variaciones para asegurar que tu aplicación sea robusta y versátil. Profundicemos en cómo gestionar diferentes escenarios al importar datos CSV a un DataTable usando IronXL.

Manejo de un delimitador diferente

Las comas son el delimitador predeterminado en los archivos CSV. Sin embargo, los archivos CSV no siempre utilizan comas para separar los valores. A veces, un punto y coma, tabulación u otros caracteres se usan como delimitadores. Para manejar esto en IronXL:

Especificar un Delimitador Personalizado: Antes de cargar el archivo CSV, puedes especificar el delimitador de tu archivo. Por ejemplo, si tu archivo usa un punto y coma (;), puedes configurarlo así:

WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";");

Manejo de archivos CSV grandes

Al trabajar con archivos CSV grandes, es importante considerar el uso de memoria y el rendimiento. IronXL proporciona formas eficientes de manejar archivos grandes sin cargar el archivo completo en memoria de una vez. Puedes leer el archivo en partes o utilizar APIs de transmisión proporcionadas por IronXL para gestionar el uso de memoria de manera efectiva.

Conclusión

Importar datos CSV a un DataTable usando IronXL en C# es sencillo. Mejora las capacidades de manipulación de datos de tu aplicación, permitiéndote manejar archivos CSV de manera eficiente. Con los pasos descritos en este tutorial, los principiantes pueden integrar fácilmente esta funcionalidad en sus proyectos C#.

IronXL ofrece una prueba gratuita para que los usuarios exploren sus características. Para aquellos que buscan capacidades más avanzadas y soporte, existen opciones de licencia disponibles.

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 estructurados y visualmente atractivos.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta