IRONSOFTWAREHOME
COMPARAR COM OUTROS COMPONENTES

EPPlus: Ler Excel para Datatable em C# (Tutorial IronXL)

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

Procurando uma biblioteca Excel para ler dados do Excel em um DataTable em C#?

Ler arquivos Excel em um DataTable em C# tem várias aplicações práticas em diferentes indústrias e domínios, como análise e relatório de dados, importação de dados para bancos de dados, migração de dados, validação e limpeza de dados, integração com outros sistemas, automação e processamento em lote.

Neste artigo, discutiremos e compararemos duas bibliotecas diferentes de Excel for .NET Core em C# que oferecem este recurso de ler dados de Excel e arquivos Excel em um DataTable. As bibliotecas são

  1. EPPlus
  2. IronXL

1. Biblioteca EPPlus

EPPlus é uma poderosa biblioteca de código aberto para criar e manipular arquivos Excel em C#. Ela fornece uma API simples e intuitiva que permite aos desenvolvedores gerar, ler e modificar planilhas Excel programaticamente, sem exigir instalação do Microsoft Office ou Excel nas máquinas servidoras ou clientes. Com o EPPlus, você pode facilmente criar planilhas, adicionar dados, aplicar formatos, criar gráficos e executar outras operações em arquivos Excel. Ela suporta tanto o formato .xls mais antigo quanto o formato .xlsx mais recente e proporciona um desempenho eficiente e gestão de memória. Seja para gerar relatórios dinâmicos, importar/exportar dados ou automatizar tarefas relacionadas ao Excel, o EPPlus oferece um conjunto abrangente de recursos e capacidades para simplificar o manuseio de arquivos Excel em aplicações C#.

2. IronXL

IronXL é uma biblioteca poderosa e versátil que capacita os desenvolvedores com a habilidade de ler, escrever e manipular arquivos Excel sem esforço dentro de suas aplicações .NET. Com sua API intuitiva e abrangente, o IronXL simplifica o processo, geralmente complexo, de trabalhar com planilhas, permitindo que os desenvolvedores extraiam dados, realizem cálculos, criem gráficos e gerem relatórios sem dificuldades. Seja automatizando tarefas de importação/exportação de dados, realizando análise de dados ou criando modelos dinâmicos do Excel, o IronXL fornece uma solução robusta que economiza tempo e esforço valiosos dos desenvolvedores, enquanto garante precisão e confiabilidade ao lidar com dados do Excel. Com sua integração perfeita, documentação extensa e ampla gama de recursos, o IronXL se destaca como a escolha preferida para desenvolvedores que buscam uma ferramenta confiável e eficiente para enfrentar os desafios associados à manipulação de arquivos do Excel no framework .NET.

3. Instalando a biblioteca EPPlus

Para instalar a biblioteca EPPlus em seu projeto C#, primeiro você precisa criar um novo projeto baseado em console no Visual Studio. Após isso, você pode facilmente instalá-la usando o Gerenciador de Pacotes NuGet.

Uma vez que o novo projeto é criado, vá para Ferramentas e passe o mouse sobre o Gerenciador de Pacotes NuGet, depois selecione 'Gerenciar Pacotes NuGet para Solução'.

Uma nova janela será aberta. Nesta nova janela, vá para a opção 'Procurar' e busque por 'EPPlus'. Uma lista de pacotes aparecerá, e você deve selecionar a versão estável mais recente. Então, clique no botão 'Instalar' do lado direito para instalar a biblioteca EPPlus.

Assim, a EPPlus será adicionada ao seu projeto.

4. Instalando IronXL

Existem muitos métodos para instalar o IronXL, mas nesta seção, discutiremos apenas a instalação do IronXL usando o Gerenciador de Pacotes NuGet.

Assim como na seção 3, crie um novo projeto e vá para 'Ferramentas' e abra o Gerenciador de Pacotes NuGet para soluções.

Na nova janela, digite a palavra-chave 'IronXL' na barra de busca. Uma lista aparecerá, e você pode selecionar o pacote IronXL que deseja instalar. Então, clique no botão 'Instalar' para instalar o IronXL em seu projeto.

Agora o IronXL está pronto para uso.

5. Lendo Arquivos do Excel e Dados para DataTable Usando a Biblioteca EPPlus

Nesta seção, vamos examinar o código para ler Excel como um DataTable usando o pacote Excel da biblioteca EPPlus em C#.

Precisamos de um arquivo Excel de exemplo para ler como um DataTable. Para esse propósito, geraremos um arquivo Excel de exemplo.

Abaixo está o código para ler o arquivo Excel como um 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;
    }
}

O código acima define um método que recebe parâmetros de entrada, como o caminho do arquivo e o nome da planilha, e retorna um DataTable como saída. Ele também itera por cada linha do DataTable, imprimindo os dados.

5.1. Saída

A saída será o conteúdo do arquivo Excel impresso no console.

6. Lendo Arquivos do Excel como um DataTable usando IronXL

Converter uma planilha Excel e lê-la como um DataTable é bastante fácil usando IronXL, com apenas algumas linhas de código. Além disso, usaremos o arquivo Excel anterior como entrada.

O exemplo de código a seguir realiza a mesma funcionalidade que o código acima, mas usando o 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();
        }
    }
}

No exemplo de código acima, estamos simplesmente carregando o arquivo Excel e convertendo-o para um DataTable usando o método workSheet.ToDataTable(true).

6.1 Saída

A saída será o conteúdo do arquivo Excel impresso no console.

7. Conclusão

Em conclusão, quando se trata de ler arquivos Excel e convertê-los para DataTables em C#, tanto EPPlus quanto IronXL são excelentes bibliotecas que oferecem recursos poderosos e simplificam o processo.

EPPlus é uma biblioteca de código aberto que fornece uma API direta para gerar, ler e modificar planilhas Excel programaticamente. Ele suporta os formatos .xls e .xlsx e oferece desempenho eficiente e gerenciamento de memória.

Por outro lado, IronXL é uma biblioteca versátil que permite aos desenvolvedores trabalharem sem esforço com arquivos Excel em aplicações .NET. Ele oferece uma API intuitiva e recursos abrangentes para extrair dados, realizar cálculos, criar gráficos e gerar relatórios. O IronXL simplifica tarefas complexas de manipulação de arquivos Excel, como importação/exportação de dados, análise de dados e criação de modelos dinâmicos.

Ao comparar os exemplos de código de ambos IronXL e EPPlus, descobrimos que o código do EPPlus é bastante extenso, complexo e difícil de ler. Por outro lado, o código do IronXL é bastante simples e fácil de ler. IronXL usa a planilha padrão, mas no EPPlus, você precisa dar o nome da planilha; do contrário, você receberá um erro.

Em resumo, eu recomendaria o IronXL em vez do EPPlus para manipular arquivos Excel e lê-los como DataTables. Além disso, o IronXL oferece muito mais recursos do que o EPPlus ao lidar com arquivos Excel com código simples. Para mais tutoriais sobre IronXL, por favor, visite o seguinte link.

{[{i:(EPPlus é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo EPPlus. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.