USANDO O IRONXL

Como converter um arquivo Excel em um DataTable em C# sem usar OLEDB

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Microsoft Excel é um robusto programa de planilhas criado pela Microsoft. É uma ferramenta amplamente utilizada para organização, análise e visualização de dados. É parte do pacote Office da Microsoft. Devido às suas várias características, o Excel é uma ferramenta versátil que pode ser utilizada por profissionais, indivíduos, organizações e universidades.

O Excel é amplamente utilizado em uma ampla gama de setores, incluindo finanças, contabilidade, análise de negócios, análise de dados, pesquisa, educação e mais. Devido à sua versatilidade e conjunto extenso de recursos, é a ferramenta preferida para organizar, avaliar e apresentar dados em situações pessoais e profissionais. Neste artigo, vamos converter Excel para um DataTable em C# sem conectividade OLEDB.

Como Converter Excel para DataTable em C# sem OLEDB

  1. Crie um novo projeto no Visual Studio.
  2. Instale a biblioteca necessária.
  3. Carregue o arquivo Excel em um objeto.
  4. Converta os dados da planilha Excel em um DataTable usando métodos específicos.
  5. Use o DataTable conforme necessário.

Biblioteca IronXL

Uma alternativa ao Microsoft Interop para lidar com arquivos Excel em programas .NET é o IronXL. Enquanto o Microsoft Interop requer o uso dos assemblies Interop para conectar-se com o Excel, o IronXL fornece uma maneira mais simples, eficiente e poderosa de manipular arquivos Excel programaticamente em ambientes .NET.

A seguir estão algumas vantagens de usar o IronXL:

  • Desempenho e Economia de Recursos: IronXL supera o Microsoft Interop em termos de desempenho e eficiência de recursos, pois não depende do programa Excel estando instalado no PC.
  • Legibilidade e Simplicidade: O IronXL oferece uma API mais simples, facilitando a leitura, escrita e manipulação de arquivos Excel sem as desvantagens do Microsoft Interop.
  • Compatibilidade e Dependência: O IronXL elimina dependências e possíveis problemas de compatibilidade com diferentes versões do Office ou Excel por não precisar que o Microsoft Excel esteja instalado no PC.
  • Independência de Plataforma: Enquanto o Microsoft Interop está mais intimamente ligado a certas versões do Microsoft Office, o IronXL proporciona mais flexibilidade e simplicidade de implantação em uma variedade maior de configurações e plataformas.

Como o IronXL é mais rápido, fácil de usar e requer menos instalações de software de terceiros, muitas vezes é a escolha preferível para desenvolvedores .NET que precisam trabalhar programaticamente com arquivos Excel. No entanto, fatores como as especificidades do projeto, a infraestrutura pré-existente e a familiaridade do usuário com cada biblioteca podem afetar sua escolha.

Considere sempre as necessidades do seu aplicativo ao escolher entre essas soluções. Para mais informações sobre a biblioteca IronXL, visite este site.

Criando um novo projeto no Visual Studio

Para abrir o Visual Studio, clique em File no menu e selecione "Novo Projeto". Em seguida, escolha "Aplicativo Windows Forms".

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 1

Após selecionar a localização do arquivo, insira o nome do projeto na área de texto apropriada. Em seguida, clique no botão "Criar" e escolha o .NET Framework necessário, como visto no exemplo abaixo.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 2

O tipo de aplicativo escolhido determinará como o projeto do Visual Studio será estruturado. Para adicionar código, você pode entrar no arquivo Program.cs e construir ou executar o aplicativo usando o console, Windows, ou aplicativo web.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 3

Em seguida, adicione a biblioteca necessária e teste o código.

Instalando a Biblioteca IronXL

Para instalar a biblioteca IronXL, abra o Console do Gerenciador de Pacotes NuGet e insira o seguinte comando:

PM > Install-Package IronXL.Excel

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 4

Como alternativa, você pode usar o Gerenciador de Pacotes NuGet para procurar o pacote "IronXL". Isso exibirá uma lista de pacotes NuGet relacionados ao IronXL, dos quais você pode escolher o que precisa.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 5

Converter Arquivo Excel para Tabela de Dados

O código a seguir demonstra como ler um arquivo Excel e convertê-lo em um DataTable após instalar o pacote.

// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}

No código acima:

  • O Formulário do Windows carrega os arquivos Excel e os converte em um novo DataTable.
  • Ele usa uma caixa de diálogo de arquivo aberto para permitir que o usuário escolha um arquivo Excel.
  • O método WorkBook.Load() do IronXL é usado para carregar o arquivo Excel em um objeto Workbook.
  • A primeira planilha é selecionada usando um índice ou nome.
  • O método ToDataTable é usado para transformar os dados da worksheet em um DataTable.
  • O DataTable preenchido é definido como a fonte de dados para um controle DataGridView no Formulário do Windows.

Na parte inferior, um formulário e um botão carregam o arquivo Excel no aplicativo.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 6

Quando o usuário clica no botão "Carregar Excel", aparecerá uma caixa de diálogo permitindo que o usuário selecione um arquivo.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 7

Ele então processará o arquivo selecionado, convertê-lo-á em um DataTable e o carregará em um DataGridView.

Como Converter Excel em DataTable em C# Sem OLEDB: Figura 8

Saiba mais sobre usando o IronXL com DataTables.

Conclusão

IronXL é um dos add-ons de Excel mais comumente usados, que não depende de quaisquer bibliotecas externas adicionais. Instalar o Microsoft Excel é desnecessário, pois é um programa auto-suficiente. Ele pode manipular arquivos Excel de várias maneiras. Em contraste, a biblioteca Interop requer outras bibliotecas para analisar arquivos e editar documentos do Word.

IronXL fornece uma solução abrangente para qualquer processo de programação usando documentos do Microsoft Excel, incluindo operações como cálculos, ordenação, mesclagem e armazenamento de arquivos. Facilita o manuseio de dados do Excel, leitura e escrita de arquivos de maneira mais eficiente.

Originalmente, IronXL foi precificado em $999. Os usuários podem receber atualizações de software e suporte pagando uma taxa de adesão anual. IronXL também oferece proteção contra redistribuição ilegal mediante uma taxa. Clique aqui para testar o IronXL com uma avaliação gratuita para obter informações de preço mais detalhadas. Visite a página inicial da Iron Software para mais informações sobre outros produtos Iron Software.

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