
Como converter um arquivo Excel em um DataTable em C#
Este blog demonstra como implementar uma conversão de Excel para DataTable. Essa tarefa pode ser facilmente realizada usando o IronXL, que fornece uma maneira simples e eficiente de ler e escrever arquivos Excel em C#.
1. IronXL
IronXL é uma biblioteca C# poderosa e fácil de usar, projetada para simplificar a leitura, escrita, exportação de dados e manipulação de planilhas Excel. Ela oferece aos desenvolvedores uma maneira contínua de trabalhar com planilhas do Excel e automatizar tarefas dentro de seus projetos C#.
Com o IronXL, você pode facilmente importar, exportar, e modificar dados em livros, planilhas e células do Excel. Ele suporta tanto o formato XLS mais antigo quanto o mais novo formato XLSX, tornando-o compatível com uma ampla gama de versões do Excel.
A biblioteca oferece uma API direta que permite aos desenvolvedores executar várias operações em arquivos Excel, como criar novos livros, ler e escrever dados nas células, aplicar formatação, lidar com fórmulas e até mesmo extrair gráficos e imagens. IronXL também suporta o trabalho com estruturas de dados complexas como tabelas, intervalos e intervalos nomeados.
2. Pré-requisitos
Para trabalhar com arquivos Excel e convertê-los para DataTable usando IronXL em C#, há alguns pré-requisitos que precisam estar no lugar:
- Ambiente de Desenvolvimento: Certifique-se de que você possui um ambiente de desenvolvimento compatível configurado na sua máquina, como o Visual Studio ou qualquer outro IDE C#.
- Biblioteca IronXL: Baixe e instale a biblioteca IronXL. Você pode obter a biblioteca no site oficial do IronXL ou via o Gerenciador de Pacotes NuGet no Visual Studio. Inclua o namespace IronXL no seu projeto C# para acessar suas classes e métodos.
- .NET Framework ou .NET Core: IronXL suporta tanto o .NET Framework quanto o .NET Core. Certifique-se de que tenha a versão apropriada instalada na sua máquina, dependendo dos requisitos do seu projeto.
3. Criando um Novo Projeto em C#
Para usar a biblioteca IronXL para tarefas relacionadas ao Excel, o passo inicial é criar um projeto .NET no Visual Studio. Embora qualquer versão do Visual Studio possa ser usada, é recomendado usar a mais recente.
Este tutorial usará o template de projeto de Aplicativo de Console para mostrar como trabalhar com IronXL.
Novo projeto
Uma vez que você tenha selecionado o tipo de projeto, prossiga para especificar um nome e local para o projeto. Além disso, você tem a opção de escolher o framework preferido para o projeto, como o .NET Core 6.
Configuração do projeto
Após a solução ser gerada, você pode acessar o arquivo Program.cs, onde pode inserir código e criar/executar o aplicativo.
Program.cs
4. Instalando IronXL
A biblioteca IronXL pode ser baixada e instalada de diferentes maneiras. Estes são:
- Usando Pacotes NuGet do Visual Studio
- Usando a Linha de Comando do Visual Studio
4.1 Usando Pacotes NuGet do Visual Studio
Para instalar a biblioteca IronXL com o Gerenciador de Pacotes NuGet no Visual Studio, abra o Gerenciador de Pacotes NuGet e procure por IronXL na aba Procurar.
Depois de localizar o IronXL nos resultados da pesquisa, selecione-o e prossiga com a instalação. Uma vez que a instalação esteja completa, você pode usar a biblioteca IronXL no seu projeto.
A imagem abaixo mostra como abrir o Gerenciador de Pacotes NuGet no Visual Studio.
Gerenciador de Pacotes NuGet
IronXL nos resultados da pesquisa:
IronXL
4.2 Usando a Linha de Comando do Visual Studio
Muitos desenvolvedores preferem instalar pacotes usando a interface de linha de comando. Para instalar o IronXL usando a linha de comando, siga estas etapas:
- Vá para Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes no Visual Studio.
- Insira a seguinte linha na aba do Console do Gerenciador de Pacotes:
Agora o pacote será baixado e instalado no projeto atual e estará pronto para uso.
Instale o pacote IronXL
5. Converter Dados do Excel para DataTable Usando IronXL
A exportação de dados do Excel de um fluxo de arquivo do Excel para DataTable em C# pode ser facilmente implementada usando IronXL. Esta seção discutirá como você pode converter dados de uma planilha Excel em DataTable usando IronXL.
Primeiro, é necessário um arquivo de exemplo do Excel com os dados que você deseja converter em um DataTable. Para demonstração, um arquivo Excel simples deve ser criado.
Excel de Exemplo
Agora vamos ver os exemplos de código:
using IronXL;
using System;
using System.Data;
class Program
{
static void Main()
{
// Load the Excel workbook from a file
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Access the default worksheet in the workbook
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Convert the worksheet data to a DataTable
// Set the parameter to true to consider the first row as column headers
DataTable dataTable = workSheet.ToDataTable(true);
// Iterate over each row in the DataTable
foreach (DataRow row in dataTable.Rows)
{
// Print each column in the row
for (int i = 0; i < dataTable.Columns.Count; i++)
{
Console.Write($"{row[i]} \t");
}
Console.WriteLine(); // Move to the next line after printing each row
}
}
}Imports IronXL
Imports System
Imports System.Data
Module Program
Sub Main()
' Load the Excel workbook from a file
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Access the default worksheet in the workbook
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Convert the worksheet data to a DataTable
' Set the parameter to true to consider the first row as column headers
Dim dataTable As DataTable = workSheet.ToDataTable(True)
' Iterate over each row in the DataTable
For Each row As DataRow In dataTable.Rows
' Print each column in the row
For i As Integer = 0 To dataTable.Columns.Count - 1
Console.Write($"{row(i)}" & vbTab)
Next
Console.WriteLine() ' Move to the next line after printing each row
Next
End Sub
End ModuleNo código acima, um arquivo Excel é carregado como um objeto WorkBook usando o método WorkBook.Load fornecido pelo IronXL e, em seguida, acessa os dados da primeira planilha como um WorkSheet. Para converter este WorkSheet em um DataTable, o método workSheet.ToDataTable é usado para converter e armazenar os dados em uma nova variável DataTable.
Finalmente, os dados DataTable são impressos no console para visualização.
Exportar Dados para Saída DataTable
6. Conclusão
O uso de DataTable em C# fornece uma solução poderosa e eficiente para trabalhar com dados do Excel em aplicativos. Aproveitando bibliotecas como IronXL, os desenvolvedores podem facilmente converter dados do Excel em DataTable e desbloquear todo o potencial de C#.
Este tutorial explorou as capacidades do IronXL e sua integração perfeita com C#. Discutimos os pré-requisitos para trabalhar com arquivos Excel, como ter um ambiente de desenvolvimento compatível, instalar a biblioteca IronXL e garantir a versão apropriada do .NET Framework ou .NET Core.
Também percorremos o processo de criação de um novo projeto C# no Visual Studio e instalação do IronXL, seja através do Gerenciador de Pacotes NuGet ou da Linha de Comando do Visual Studio. Com o IronXL integrado com sucesso no projeto, demonstramos a exportação de dados para um DataTable usando a API fácil de usar da biblioteca.
Carregando um arquivo Excel, acessando a planilha desejada e utilizando o método ToDataTable fornecido pelo IronXL, conseguimos extrair os dados e armazená-los em um DataTable. Finalmente, mostramos como visualizar o DataTable imprimindo seu conteúdo no console.
Usando IronXL e DataTable em C#, os desenvolvedores podem construir aplicativos robustos que interagem perfeitamente com dados do Excel, permitindo processamento, análise e visualização de dados eficientes. Com o conhecimento adquirido neste tutorial, agora você pode incorporar com confiança planilhas do Excel em seus projetos C# e aproveitar a ampla funcionalidade fornecida pelo DataTable. Para mais tutoriais sobre IronXL, visite as páginas de tutoriais.

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.
Artigos relacionados



