IRONSOFTWAREHOME
USANDO O IRONXL

Como exportar um DataGridView para o Excel em C#

Curtis Chau
Curtis Chau
Updated: 28 de junho de 2026

Este tutorial fornece um guia abrangente sobre como exportar dados de um DataGridView controle em uma Aplicação Windows Forms para um arquivo Excel usando a biblioteca IronXL em C#. Nosso foco será criar uma experiência tranquila para iniciantes que desejam integrar a funcionalidade do Microsoft Excel em seus projetos C#.

How to Export DataGridView to Excel in C#

  1. Crie um projeto Windows Forms C# no Visual Studio.
  2. Instale a Biblioteca Excel usando o Gerenciador de Pacotes NuGet.
  3. Crie um DataGridView e um botão na interface de usuário do Windows Form.
  4. Anexe uma fonte de dados ao DataGridView.
  5. Aplique a lógica de exportação de dados no manipulador de eventos de clique do botão.

Começando com IronXL

O IronXL é uma biblioteca robusta que simplifica o processo de trabalhar com documentos Excel em aplicativos .NET Framework. Permite exportar grandes arquivos Excel, lidar com fontes de dados complexas e fornecer amplo suporte para manipulação de arquivos Excel .NET sem a necessidade de ter a Biblioteca de Objetos do Microsoft Excel. Vamos configurar nosso projeto.

Configurando Seu Projeto

1. Crie uma Nova Aplicação Windows Forms

Abra o Visual Studio e crie uma nova Aplicação Windows Forms. Esta será a base do nosso projeto, onde implementaremos a funcionalidade para exportar dados do DataGridView para um arquivo Excel.

Como Exportar DataGridView para Excel em C#: Figura 1 - Criando uma nova Aplicação Windows Forms no Visual Studio

2. Instale o IronXL

O IronXL pode ser facilmente adicionado ao seu projeto. No Visual Studio, navegue até a opção 'Gerenciar Pacotes NuGet', procure por IronXL e instale-o. Esta ação cuidará de todas as dependências necessárias para exportar DataGridView para Excel em C#.

Como Exportar DataGridView para Excel em C#: Figura 2 - Instalando a biblioteca IronXL através do Gerenciador de Pacotes NuGet

3. Prepare a Interface do Usuário

Adicione um controle DataGridView ao seu formulário. Este controle conterá os dados que pretendemos exportar. Além disso, adicione um botão para acionar o processo de exportação. Você pode rotulá-lo como 'Exportar para Excel' ou algo similar.

Implementando a Funcionalidade de Exportação

Nesta seção, ensinaremos os detalhes específicos de como programar a funcionalidade que permite exportar dados de um DataGridView em uma aplicação Windows Forms para um documento Excel usando o IronXL.

Construindo a Aplicação

Primeiramente, você precisa adicionar um controle DataGridView ao seu formulário. Este controle é o componente primário onde seus dados serão exibidos antes de serem exportados. Você pode facilmente adicioná-lo arrastando um DataGridView da caixa de ferramentas no Visual Studio para o seu formulário. Podemos também adicionar um botão para exportar dados do DataGridView para arquivos Excel.

Como Exportar DataGridView para Excel em C#: Figura 3 - Adicionando um botão para exportar dados do DataGridView para um arquivo Excel

O próximo passo é carregar os dados no DataGridView. Esses dados podem vir de várias fontes, como um DataTable ou um DataSet. Se você está começando, pode querer criar um novo DataSet ou DataTable programaticamente e preenchê-lo com dados de amostra para ver como funciona. Alternativamente, você pode importar dados de uma fonte externa. A chave aqui é vincular sua fonte de dados ao DataGridView, que efetivamente liga seus dados à grade. Uma vez que seus dados estejam vinculados ao DataGridView, você os verá exibidos na grade em seu formulário.

private void BindDataToDataGridView()
{
    // Create a new DataTable.
    DataTable dataTable = new DataTable();
    // Define columns for the DataTable.
    dataTable.Columns.Add("Employee ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Department", typeof(string));
    dataTable.Columns.Add("Joining Date", typeof(DateTime));
    // Add sample data to the DataTable.
    for (int i = 1; i <= 25; i++)
    {
        dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
    }
    // Bind the DataTable to the DataGridView.
    dataGridView1.DataSource = dataTable;
}

Manipulando o Evento de Clique do Botão

Nosso principal ponto de interação com o usuário será um botão dentro de nosso Windows Form. Este botão, quando clicado, inicia o processo de exportação. Aqui está como configurar essa interação:

  • No seu Windows Form, você deve ter um botão dedicado para exportar os dados do DataGridView.
  • Este botão possui um método manipulador de eventos no seu código C#. Este método é acionado quando o usuário clica no botão.
private void btnExport_Click(object sender, EventArgs e)
{
    // Code to export data will go here
}

Exportando Dados do DataGridView

Para exportar os dados do DataGridView, primeiro precisamos referenciar o namespace IronXL:

using IronXL;

Dentro do manipulador de eventos, o primeiro passo é inicializar um novo workbook e worksheet usando o IronXL. É aqui que nossos dados do DataGridView serão transferidos.

  • Um objeto WorkBook representa todo o arquivo Excel.
  • Um WorkSheet dentro do livro é como uma página ou aba individual em um arquivo Excel.

Aqui, criamos um workbook e depois adicionamos uma worksheet a ele. A worksheet é nomeada "ExportedData", mas você pode escolher qualquer nome que se encaixe no contexto do seu aplicativo.

WorkBook workbook = WorkBook.Create();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");

Populando a Planilha Excel

O próximo passo envolve iterar pelas linhas e colunas do seu DataGridView e copiar os dados de cada célula para a célula correspondente na worksheet Excel.

  • O loop externo percorre cada linha, enquanto o loop interno atravessa cada coluna dentro da respectiva linha.
  • Atribuímos o valor de cada célula no DataGridView à célula correspondente na worksheet Excel. Isso é feito usando os índices i (para linhas) e j (para colunas).
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        // Convert row and column index to Excel cell address format
        string cellAddress = ConvertToCellAddress(i, j);
        worksheet[cellAddress].Value = dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
}

Para converter os índices de linha e coluna em um endereço de célula Excel, você pode usar um método auxiliar como este:

private string ConvertToCellAddress(int row, int column)
{
    // Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
    // The following code converts a column index to this format.
    string columnLabel = "";
    while (column >= 0)
    {
        columnLabel = (char)('A' + column % 26) + columnLabel;
        column = column / 26 - 1;
    }
    // Rows in Excel are labeled as 1, 2, 3, ..., n
    // Adding 1 because Excel is 1-based and our loop is 0-based.
    string rowLabel = (row + 1).ToString();
    return columnLabel + rowLabel;
}

Salvando o Arquivo Excel

Uma vez que todos os dados são transferidos, o próximo passo é salvar este workbook como um arquivo Excel. Este passo cria um arquivo Excel no seu sistema no caminho especificado.

workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

Tratamento de erros

Em qualquer processo de exportação de dados, é vital tratar as exceções para garantir a estabilidade do aplicativo. Envolver a lógica de exportação em um bloco try-catch garante que quaisquer problemas durante a exportação (como permissões de acesso a arquivos, problemas de formato de dados, etc.) sejam capturados e tratados graciosamente.

try
{
    // Export logic
}
catch (Exception ex)
{
    MessageBox.Show("An exception occurred: " + ex.Message);
}

Saída

Uma vez que executamos o programa, esta interface aparecerá:

Como Exportar DataGridView para Excel em C#: Figura 4 - Formulário de Saída do código anterior

Aqui você pode ver que os dados são mostrados no DataGridView. Agora, clique no botão Exportar. Ele exportará os dados do DataGridView para o arquivo Excel.

Como Exportar DataGridView para Excel em C#: Figura 5 - Mensagem de Exportação bem-sucedida

Aqui, você pode ver que uma caixa de mensagem aparece, e os dados são exportados para o arquivo Excel. Aqui está o arquivo Excel de saída:

Como Exportar DataGridView para Excel em C#: Figura 6 - O arquivo Excel de saída da exportação do formulário anterior

Conclusão

Ao seguir este guia, agora você tem uma ferramenta básica, mas poderosa para exportar dados do DataGridView para um arquivo Excel usando C# e IronXL. Esta funcionalidade é crucial para aplicativos que exigem análise de dados, relatórios ou simplesmente a transferência de dados entre formatos diferentes. Lembre-se, experimentar diferentes recursos do controle DataGridView e da biblioteca IronXL pode levar a implementações mais personalizadas e avançadas.

O IronXL oferece uma avaliação gratuita que você pode usar para explorar seus recursos. A licença começa a partir de $999, o que é um investimento que vale a pena para profissionais e organizações que procuram uma solução confiável e eficiente para manipulação de arquivos Excel em aplicativos .NET.

Sua jornada não termina aqui. Continue explorando mais recursos do IronXL e outras maneiras de aprimorar seus aplicativos Windows Forms. Boa programação!

Curtis Chau
Redator Técnico

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

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.