IRONSOFTWAREHOME
COMPARAR CON OTROS COMPONENTES

EPPlus lee Excel en DataTable C# (Tutorial de IronXL)

Curtis Chau
Curtis Chau
Updated: 19 de julio de 2026

¿Buscas una biblioteca de Excel para leer datos de Excel en un DataTable en C#?

Leer archivos de Excel en un DataTable en C# tiene varias aplicaciones prácticas en diversas industrias y dominios, como análisis y generación de informes de datos, importación de datos en bases de datos, migración de datos, validación y limpieza de datos, integración con otros sistemas, automatización y procesamiento por lotes.

En este artículo, discutiremos y compararemos dos bibliotecas diferentes de Excel for .NET Core en C# que proporcionan esta función para leer datos de Excel y archivos de Excel en un DataTable. Las bibliotecas son

  1. EPPlus
  2. IronXL

1. Biblioteca EPPlus

EPPlus es una poderosa biblioteca de código abierto para crear y manipular archivos de Excel en C#. Proporciona una API simple e intuitiva que permite a los desarrolladores generar, leer y modificar hojas de cálculo Excel de forma programática, sin requerir la instalación de Microsoft Office o Excel en los servidores o las máquinas de los clientes. Con EPPlus, puedes crear fácilmente hojas de trabajo, agregar datos, aplicar formato, crear gráficos y realizar otras operaciones en archivos de Excel. Soporta tanto el formato .xls antiguo como el formato .xlsx más reciente y ofrece un rendimiento eficiente y gestión de memoria. Ya sea que necesites generar informes dinámicos, importar/exportar datos o automatizar tareas relacionadas con Excel, EPPlus ofrece un conjunto completo de características y capacidades para simplificar el manejo de archivos Excel en aplicaciones C#.

2. IronXL

IronXL es una biblioteca poderosa y versátil que empodera a los desarrolladores con la capacidad de leer, escribir y manipular archivos de Excel sin esfuerzo dentro de sus aplicaciones .NET. Con su API intuitiva y completa, IronXL simplifica el proceso de trabajar con hojas de cálculo, permitiendo a los desarrolladores extraer datos perfectamente, realizar cálculos, crear gráficos y generar informes con facilidad. Ya sea automatizando tareas de importación/exportación de datos, realizando análisis de datos o creando plantillas de Excel dinámicas, IronXL proporciona una solución robusta que ahorra a los desarrolladores tiempo y esfuerzo valiosos, mientras garantiza precisión y confiabilidad en el manejo de datos de Excel. Con su integración fluida, extensa documentación y amplia gama de características, IronXL emerge como la opción preferida para desarrolladores que buscan una herramienta confiable y eficiente para conquistar los desafíos asociados con la manipulación de archivos de Excel en el marco .NET.

3. Instalación de la biblioteca EPPlus

Para instalar la biblioteca EPPlus en tu proyecto C#, primero debes crear un nuevo proyecto basado en consola en Visual Studio. Después de eso, puedes instalarlo fácilmente usando el Gestor de Paquetes NuGet.

Una vez que se ha creado el nuevo proyecto, ve a Herramientas y pasa el cursor sobre el Gestor de Paquetes NuGet, luego selecciona "Administrar Paquetes NuGet para la Solución".

Aparecerá una nueva ventana. En esta nueva ventana, ve a la opción "Explorar" y busca "EPPlus". Aparecerá una lista de paquetes, y debes seleccionar la última versión estable. Luego, haz clic en el botón "Instalar" en el lado derecho para instalar la biblioteca EPPlus.

Así de fácil, EPPlus se añadirá a tu proyecto.

4. Instalación de IronXL

Hay muchos métodos para instalar IronXL, pero en esta sección solo discutiremos la instalación de IronXL usando el Gestor de Paquetes NuGet.

Al igual que en la sección 3, crea un nuevo proyecto y ve a "Herramientas" y abre el Gestor de Paquetes NuGet para soluciones.

En la nueva ventana, ingresa la palabra clave "IronXL" en la barra de búsqueda. Aparecerá una lista, y puedes seleccionar el paquete de IronXL que deseas instalar. Luego, haz clic en el botón "Instalar" para instalar IronXL en tu proyecto.

Ahora IronXL está listo para usarse.

5. Lectura de archivos de Excel y datos en DataTable mediante la biblioteca EPPlus

En esta sección, examinaremos el código para leer Excel como un DataTable utilizando la biblioteca del paquete EPPlus de C#.

Necesitamos un archivo de Excel de muestra para leer como un DataTable. Para ese propósito, generaremos un archivo de Excel de ejemplo.

A continuación, se presenta el código para leer el archivo de Excel como un DataTable.

using OfficeOpenXml;
using System;
using System.Data;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        var path = @"sample.xlsx"; // Specify the path to your Excel file
        var data = ExcelDataToDataTable(path, "Table");

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in data.Rows)
        {
            foreach (var wsrow in row.ItemArray)
            {
                Console.Write(wsrow + " ");
            }
            Console.WriteLine();
        }
    }

    /// <summary>
    /// Converts Excel sheet data to a DataTable.
    /// </summary>
    /// <param name="filePath">The path to the Excel file.</param>
    /// <param name="sheetName">The name of the worksheet to read from.</param>
    /// <param name="hasHeader">Indicates whether the Excel sheet has a header row.</param>
    /// <returns>DataTable containing Excel data.</returns>
    public static DataTable ExcelDataToDataTable(string filePath, string sheetName, bool hasHeader = true)
    {
        DataTable dt = new DataTable();
        var fi = new FileInfo(filePath);

        // Check if the file exists
        if (!fi.Exists)
            throw new Exception("File " + filePath + " does not exist.");

        // Set the license context for EPPlus
        ExcelPackage.LicenseContext = LicenseContext.NonCommercial;

        // Load the Excel file into an EPPlus ExcelPackage
        using (var xlPackage = new ExcelPackage(fi))
        {
            // Get the specified worksheet from the workbook
            var worksheet = xlPackage.Workbook.Worksheets[sheetName];

            // Convert the worksheet to a DataTable, optionally using the first row as column names
            dt = worksheet.Cells[1, 1, worksheet.Dimension.End.Row, worksheet.Dimension.End.Column].ToDataTable(c =>
            {
                c.FirstRowIsColumnNames = hasHeader;
            });
        }

        return dt;
    }
}

El código anterior define un método que acepta parámetros de entrada como la ruta del archivo y el nombre de la hoja, y devuelve un DataTable como salida. También itera a través de cada fila del DataTable, imprimiendo los datos.

5.1. Salida

La salida será el contenido del archivo de Excel impreso en la consola.

6. Lectura de archivos de Excel como una tabla de datos con IronXL

Convertir una hoja de Excel y leerla como un DataTable es bastante fácil usando IronXL, con solo unas pocas líneas de código. Además, usaremos el archivo de Excel anterior como entrada.

El siguiente ejemplo de código realiza la misma funcionalidad que el código anterior, pero usando IronXL.

using IronXL;
using System;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        // Load the Excel file into an IronXL WorkBook
        WorkBook workBook = WorkBook.Load("sample.xlsx");

        // Get the default worksheet from the workbook
        WorkSheet workSheet = workBook.DefaultWorkSheet;

        // Convert the worksheet to a DataTable, specifying that the first row contains column names
        DataTable table = workSheet.ToDataTable(true);

        // Iterate through each row in the DataTable and print its contents
        foreach (DataRow row in table.Rows)
        {
            foreach (var cell in row.ItemArray)
            {
                Console.Write(cell + " ");
            }
            Console.WriteLine();
        }
    }
}

En el ejemplo de código anterior, simplemente estamos cargando el archivo de Excel y convirtiéndolo a un DataTable usando el método workSheet.ToDataTable(true).

6.1 Salida

La salida será el contenido del archivo de Excel impreso en la consola.

7. Conclusión

En conclusión, cuando se trata de leer archivos de Excel y convertirlos a DataTables en C#, tanto EPPlus como IronXL son excelentes bibliotecas que ofrecen potentes funciones y simplifican el proceso.

EPPlus es una biblioteca de código abierto que proporciona una API directa para generar, leer y modificar hojas de cálculo de Excel de forma programática. Soporta tanto los formatos .xls como .xlsx y ofrece un rendimiento eficiente y gestión de memoria.

Por otro lado, IronXL es una biblioteca versátil que permite a los desarrolladores trabajar sin esfuerzo con archivos de Excel en aplicaciones .NET. Ofrece una API intuitiva y características completas para extraer datos, realizar cálculos, crear gráficos y generar informes. IronXL simplifica tareas complejas de manipulación de archivos de Excel, como la importación/exportación de datos, el análisis de datos y la creación de plantillas dinámicas.

Al comparar los ejemplos de código de ambos, IronXL y EPPlus, encontramos que el código de EPPlus es bastante extenso, complejo y difícil de leer. Por otro lado, el código de IronXL es bastante simple y fácil de leer. IronXL utiliza la hoja de trabajo predeterminada, pero en EPPlus necesitas dar el nombre de la hoja de trabajo; de lo contrario, obtendrás un error.

En resumen, recomendaría IronXL sobre EPPlus para manipular archivos de Excel y leer archivos de Excel como DataTables. Además, IronXL ofrece muchas más características que EPPlus en el manejo de archivos de Excel con código simple. Para más tutoriales sobre IronXL, por favor visita el siguiente enlace.

Este sitio no está afiliado, respaldado ni patrocinado por EPPlus. Este sitio no está afiliado, respaldado ni patrocinado por EPPlus. Todos los nombres de producto, logotipos y marcas son propiedad de sus respectivos dueños. Las comparaciones son solo para fines informativos y reflejan información públicamente disponible en el momento de la redacción.)}]

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