Ir para o conteúdo do rodapé
USANDO O IRONXL

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.

Como Converter Excel para Datagridview em C#, Figura 1: Crie um novo projeto no Visual Studio

Crie um novo projeto no Visual Studio.

Depois de escolher o modelo de projeto, forneça o nome e local do projeto.

Como Converter Excel para Datagridview em C#, Figura 2: Configure o projeto

Configure o projeto

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

Como Converter Excel para Datagridview em C#, Figura 3: Seleção do .NET Framework

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

Como Converter Excel para Datagridview em C#, Figura 4: Instale o pacote IronXL no Console do Gerenciador de Pacotes

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.

Como Converter Excel para Datagridview em C#, Figura 5: Pesquise e instale o pacote IronXL na UI do Gerenciador de Pacotes NuGet

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;
            }
        }
    }
}
$vbLabelText   $csharpLabel

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.

Como Converter Excel para Datagridview em C#, Figura 6: Abra um diálogo para selecionar um arquivo Excel

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.

Como Converter Excel para Datagridview em C#, Figura 7: Exibir dados do arquivo Excel

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.

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