Ir para o conteúdo do rodapé
USANDO O IRONXL
Como converter um arquivo Excel em um DataTable em C# sem usar oLEDB | IronXL

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

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 para 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 para 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 aplicação web.

Como Converter Excel para 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:

Install-Package IronXl.Excel

Como Converter Excel para 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 para DataTable em C# Sem OLEDB: Figura 5

Converter Arquivo Excel para Tabela de Dados

O seguinte código demonstra como ler um arquivo Excel e convertê-lo em um DataTable após a instalação do 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;
            }
        }
    }
}
// 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;
            }
        }
    }
}
$vbLabelText   $csharpLabel

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 planilha 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 para 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 para 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 para 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, o IronXL foi precificado em $799. 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 de software Iron.

Perguntas frequentes

Como posso converter dados do Excel em um DataTable em C# sem usar OLEDB?

Para converter dados do Excel em um DataTable em C# sem usar OLEDB, você pode usar a biblioteca IronXL. Primeiro, crie um novo projeto no Visual Studio e instale o IronXL. Carregue o arquivo Excel com o método WorkBook.Load() , selecione a planilha e, em seguida, use o método ToDataTable para converter os dados.

Qual a vantagem de usar o IronXL em vez do Microsoft Interop para operações com o Excel?

O IronXL oferece melhor desempenho, é eficiente em termos de recursos e simplifica o processo de manipulação de arquivos do Excel. Ele não exige a instalação do Microsoft Excel, evitando assim problemas de compatibilidade com diferentes versões do Office.

Como faço para instalar o IronXL no meu projeto C#?

Você pode instalar o IronXL em seu projeto C# abrindo o Console do Gerenciador de Pacotes NuGet no Visual Studio e executando o comando Install-Package IronXL . Como alternativa, você pode pesquisar por IronXL no Gerenciador de Pacotes NuGet e instalá-lo diretamente.

É necessário ter o Microsoft Excel instalado para usar o IronXL?

Não, não é necessário ter o Microsoft Excel instalado para usar o IronXL. Esta biblioteca funciona independentemente do Excel, eliminando qualquer dependência ou problema de compatibilidade.

Quais são os benefícios de converter um arquivo Excel em um DataTable usando o IronXL?

A conversão de arquivos Excel para DataTable usando o IronXL oferece excelente desempenho, facilidade de uso e não requer a instalação de softwares adicionais. Esse método permite a manipulação eficiente de arquivos Excel em aplicações .NET.

O IronXL consegue lidar com arquivos Excel em diferentes plataformas?

Sim, o IronXL é independente de plataforma e pode lidar com arquivos do Excel em diferentes ambientes sem exigir nenhuma versão específica do Microsoft Excel.

Existe alguma forma de experimentar o IronXL antes de comprar?

Sim, a IronXL oferece uma versão de avaliação gratuita que permite aos usuários explorar seus recursos antes de efetuar a compra. Você pode encontrar mais informações e baixar a versão de avaliação no site da IronXL.

Que tipos de projetos se beneficiam mais com o uso do IronXL?

Projetos que envolvem manipulação de dados do Excel, como análise de dados, aplicações de business intelligence e quaisquer aplicações .NET que exijam processamento de arquivos do Excel, podem se beneficiar muito com o uso do IronXL.

Como o IronXL gerencia a manipulação de arquivos do Excel programaticamente?

O IronXL permite que os desenvolvedores carreguem, leiam e manipulem arquivos do Excel programaticamente por meio de sua API intuitiva, sem depender dos componentes instalados do Excel, tornando-o uma ferramenta eficiente para aplicativos .NET.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me