Como converter um arquivo Excel em um DataGridView em C#
Recursos da Biblioteca IronXL
Usando a biblioteca IronXL em C#, você pode facilmente ler e converter documentos do Microsoft Excel para arquivos CSV. O IronXL é uma biblioteca de software .NET independente que pode ler vários formatos de planilhas sem exigir a instalação do Microsoft Excel ou depender do Microsoft Office Interop Excel.
O IronXL é uma das principais bibliotecas de planilhas Excel para C#, compatível com ambos .NET Core e .NET Framework. Ele suporta várias estruturas .NET, incluindo Aplicativos Web, Aplicações de Formulários do Windows e Aplicações de Console. Ler arquivos Excel é rápido e simples com o IronXL. Ele suporta uma ampla gama de formatos de arquivos Excel, incluindo XLSX, XLS, CSV, TSV, XLST, XLSM e outros. Você pode importar, editar, exportar tabelas de dados, exportar conjuntos de dados e realizar muitas outras operações. Exportar e salvar arquivos com diferentes extensões também é possível.
Com a intuitiva API C# do IronXL, você pode ler, modificar e criar arquivos de planilhas Excel de maneira fácil no ambiente .NET. Ele oferece suporte abrangente for .NET Core, .NET Framework, Xamarin, Mobile, Linux, macOS e Azure.
O IronXL pode realizar cálculos como o Microsoft Excel e suporta vários formatos de dados de coluna, como texto, inteiros, fórmulas, datas, moedas e percentagens.
Para saber mais, clique no site do IronXL.
Criando um novo projeto no Visual Studio
Antes de usar o framework IronXL, um projeto .NET deve ser criado no Visual Studio. Qualquer versão do Visual Studio funcionará; no entanto, é recomendável usar a versão mais recente. Você pode criar vários modelos de projeto ou uma aplicação semelhante ao Windows Forms, dependendo de seus requisitos. Este tutorial usará a Aplicação Windows Forms para simplificar as coisas.

Crie um novo projeto no Visual Studio.
Depois de escolher o modelo de projeto, forneça o nome e local do projeto.

Configure o projeto
Em seguida, escolha a seguinte estrutura. Este projeto utilizará o .NET Framework 4.7.

Seleção do .NET Framework
Após gerar os arquivos do projeto, você pode abrir o arquivo Form1.cs na visualização de designer para inserir o código do programa, projetar a interface e construir/executar o programa. Em seguida, você precisará baixar a biblioteca IronXL necessária para a solução. Você pode baixar o pacote usando o seguinte comando no gerenciador de pacotes:
Install-Package IronXL.Excel

Instalar o pacote IronXL no Console do Gerenciador de Pacotes
Alternativamente, você pode usar o Gerenciador de Pacotes NuGet para procurar e baixar o pacote 'IronXL'. O Gerenciador de Pacotes NuGet fornece um meio conveniente de gerenciar dependências em seu projeto.

Pesquisar e instalar o pacote IronXL na interface do Gerenciador de Pacotes NuGet
Para este formulário, um controle DataGridView é colocado no formulário para carregar o arquivo Excel necessário no controle DataGridView.
Carregar Dados de um Arquivo Excel
IronXL é uma biblioteca poderosa para Excel que permite ler arquivos Excel com apenas algumas linhas de código. Abaixo está um exemplo de trecho de código que demonstra como importar dados do Excel para um DataGridView:
using System;
using System.Windows.Forms;
using IronXL;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string importFilePath = string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
DialogResult result = openFileDialog1.ShowDialog();
// Check if the user selected a file
if (result == DialogResult.OK)
{
importFilePath = openFileDialog1.FileName;
}
// Proceed if the file path is not empty
if (!string.IsNullOrEmpty(importFilePath))
{
// Load the Excel document
WorkBook excelDoc = WorkBook.Load(importFilePath);
// Convert the first sheet to a DataTable
var dataTable = excelDoc.WorkSheets[0].ToDataTable();
// Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable;
}
}
}
}
using System;
using System.Windows.Forms;
using IronXL;
namespace DataTableWindowsForm
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string importFilePath = string.Empty;
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
DialogResult result = openFileDialog1.ShowDialog();
// Check if the user selected a file
if (result == DialogResult.OK)
{
importFilePath = openFileDialog1.FileName;
}
// Proceed if the file path is not empty
if (!string.IsNullOrEmpty(importFilePath))
{
// Load the Excel document
WorkBook excelDoc = WorkBook.Load(importFilePath);
// Convert the first sheet to a DataTable
var dataTable = excelDoc.WorkSheets[0].ToDataTable();
// Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable;
}
}
}
}
Imports System
Imports System.Windows.Forms
Imports IronXL
Namespace DataTableWindowsForm
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim importFilePath As String = String.Empty
openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
Dim result As DialogResult = openFileDialog1.ShowDialog()
' Check if the user selected a file
If result = System.Windows.Forms.DialogResult.OK Then
importFilePath = openFileDialog1.FileName
End If
' Proceed if the file path is not empty
If Not String.IsNullOrEmpty(importFilePath) Then
' Load the Excel document
Dim excelDoc As WorkBook = WorkBook.Load(importFilePath)
' Convert the first sheet to a DataTable
Dim dataTable = excelDoc.WorkSheets(0).ToDataTable()
' Set the DataSource of dataGridView1 to the DataTable
dataGridView1.DataSource = dataTable
End If
End Sub
End Class
End Namespace
O código acima importa dados do Excel. Para fornecer mais contexto, vamos supor que estamos projetando uma aplicação Windows Forms com um controle DataGridView e um botão. O botão abrirá um diálogo para procurar o arquivo Excel de um local específico. Um código personalizado é adicionado para filtrar e exibir apenas um número limitado de arquivos com uma extensão específica.

Abrir um diálogo para selecionar um arquivo Excel
Então, o método Load é usado para carregar dados do arquivo Excel. Este método permite carregar dados de várias fontes, como nomes de arquivo, bytes ou fluxos. Se o arquivo Excel estiver protegido por senha, você também pode passar a senha como um parâmetro.
Uma vez que os detalhes do Excel estão carregados no objeto IronXL, o método ToDataTable é usado para converter os dados da planilha Excel em um DataTable. Cada planilha no arquivo Excel será convertida em uma tabela separada.
Em seguida, carregue a tabela necessária do conjunto de dados no DataGridView. Para fazer isso, a propriedade DataSource do DataGridView é configurada com o novo objeto DataTable criado a partir do IronXL. Este passo permite a população de dados do arquivo Excel para o DataGridView.

Exibir dados do arquivo Excel
Além disso, pode ser necessário configurar o DataGridView para que exiba corretamente os cabeçalhos e a primeira linha de dados, dependendo de suas necessidades específicas.
Para mais tutoriais sobre o uso do IronXL, clique neste guia passo-a-passo.
Conclusão
IronXL é uma utilidade para Excel altamente popular que não depende de bibliotecas externas. É uma solução independente e não requer a instalação do Microsoft Excel. É compatível com várias plataformas.
Com IronXL, você pode realizar uma ampla gama de operações relacionadas a documentos do Microsoft Excel programaticamente. Você pode executar tarefas como ordenar strings ou números, aparar e adicionar dados, encontrar e substituir valores, mesclar e desmesclar células, salvar arquivos e muito mais. Ele também permite validar dados de planilhas e definir tipos de dados de células. Além disso, o IronXL suporta a leitura e escrita de arquivos CSV.
IronXL está disponível para compra com diferentes opções de licenciamento. Os clientes também têm a opção de pagar uma taxa de associação anual para atualizações e suporte ao produto. Por um custo adicional, o IronXL fornece direitos de redistribuição irrestritos. Para obter informações de preços mais detalhadas, você pode visitar a página de licenciamento.
Perguntas frequentes
Como posso exibir dados do Excel em um DataGridView em C# sem usar Interop?
Você pode usar o IronXL para ler dados do Excel e exibi-los em um DataGridView, convertendo uma planilha do Excel em um DataTable e definindo-o como a fonte de dados (DataSource) do DataGridView.
Quais são os benefícios de usar o IronXL para operações do Excel em C#?
IronXL oferece uma solução independente para operações com o Excel, sem a necessidade do Microsoft Excel ou do Office Interop. Suporta múltiplas plataformas e formatos, tornando-o versátil para diferentes aplicações em C#.
Como faço para instalar o IronXL em um projeto do Visual Studio para manipulação de arquivos Excel?
Instale o IronXL executando Install-Package IronXL.Excel no Console do Gerenciador de Pacotes ou usando a interface do Gerenciador de Pacotes NuGet no Visual Studio.
O IronXL suporta leitura e gravação em diferentes formatos de arquivo do Excel?
Sim, o IronXL suporta leitura e gravação em vários formatos de arquivo do Excel, incluindo XLSX, XLS, CSV e TSV.
O IronXL pode ser usado em aplicações multiplataforma?
Sim, o IronXL é compatível com .NET Core, .NET Framework, Xamarin e outras plataformas, tornando-o adequado para aplicações multiplataforma.
Qual é o processo para converter dados do Excel em um DataTable usando o IronXL?
Para converter dados do Excel em um DataTable usando o IronXL, leia o arquivo Excel em um objeto WorkBook, acesse a planilha desejada e use os métodos do IronXL para extrair os dados para um DataTable.
O IronXL é uma solução economicamente viável para manipulação de dados do Excel em C#?
O IronXL oferece opções flexíveis de licenciamento, incluindo assinaturas anuais e direitos de redistribuição, tornando-o uma solução econômica para manipulação de dados do Excel em C#.
Que tipo de operações o IronXL pode realizar em arquivos do Excel?
O IronXL pode executar diversas operações, como leitura, escrita, classificação, recorte e mesclagem de células, além de lidar com cálculos e formatação de forma semelhante ao Microsoft Excel.
Como o IronXL lida com dados do Excel para interfaces de usuário?
O IronXL consegue carregar dados do Excel de diversas fontes e convertê-los em um DataTable, facilitando a integração perfeita em interfaces de usuário como o DataGridView em aplicativos Windows Forms.
Onde posso encontrar mais recursos sobre como usar o IronXL para operações no Excel?
Mais tutoriais e recursos sobre como usar o IronXL podem ser encontrados no site do IronXL, incluindo guias práticos e documentação detalhada.



