Exportar dados de um DataGridView
para um arquivo Excel é uma funcionalidade útil em muitas aplicações C#. Isso permite que os usuários salvem e compartilhem informações facilmente. Neste post, vamos explorar como exportar DataGridView para o Excel em C#.
Passo a passo para exportar DataGridView para Excel
Criar um novo projeto
- Abra o Visual Studio e crie um novo projeto do tipo Windows Forms App.
Adicionar um DataGridView
- Arraste um controle
DataGridView
para o seu formulário a partir da Toolbox.
Adicionar um Button para exportar
- Adicione um
Button
ao formulário. Este botão será utilizado para exportar os dados doDataGridView
para o Excel.
Instalar a biblioteca Interop do Excel
- Você precisa adicionar uma referência à biblioteca do Excel. Clique com o botão direito no seu projeto no Solution Explorer, vá em “Adicionar” > “Referência”, e na aba “Assemblies”, procure por
Microsoft.Office.Interop.Excel
. Se não estiver disponível, você pode instalá-la via NuGet:
Install-Package Microsoft.Office.Interop.Excel
Adicionar o código para exportar
- Adicione o seguinte código ao evento
Click
do botão que você criou:
Exemplo de código
using System;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
namespace ExportarDataGridView
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
LoadData(); // Chama método para carregar dados no DataGridView
}
private void LoadData()
{
// Exemplo de dados para o DataGridView
dataGridView1.DataSource = new[]
{
new { Nome = "Alice", Idade = 25 },
new { Nome = "Bob", Idade = 30 },
new { Nome = "Charlie", Idade = 35 }
};
}
private void buttonExport_Click(object sender, EventArgs e)
{
ExportDataGridViewToExcel();
}
private void ExportDataGridViewToExcel()
{
Excel.Application excelApp = new Excel.Application();
excelApp.Workbooks.Add();
Excel._Worksheet worksheet = (Excel._Worksheet)excelApp.ActiveSheet;
// Adicionando cabeçalhos
for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
{
worksheet.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
}
// Adicionando dados
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int j = 0; j < dataGridView1.Columns.Count; j++)
{
worksheet.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
}
}
// Exibindo o Excel
excelApp.Visible = true;
}
}
}
Explicação do código
- LoadData: Este método é apenas um exemplo que preenche o
DataGridView
com alguns dados fictícios. Você pode substituir essa parte pela sua própria lógica de preenchimento; - buttonExport_Click: Este método chama a função
ExportDataGridViewToExcel()
quando o botão é clicado; - ExportDataGridViewToExcel: Esta função realiza a exportação dos dados do
DataGridView
para um arquivo Excel:
- Cria uma nova instância do Excel e adiciona uma nova pasta de trabalho.
- Itera pelas colunas do
DataGridView
para adicionar os cabeçalhos ao Excel. - Itera pelas linhas e colunas para copiar os dados do
DataGridView
para o Excel. - Finalmente, torna a aplicação do Excel visível.
Outro exemplo prático:
No código abaixo vemos como implementar a exportação de dados de um dataGridView para planilhas do Excel:
...
//instância dentro do partial class
Microsoft.Office.Interop.Excel.Application XcelApp = new Microsoft.Office.Interop.Excel.Application();
...
if (meuDataGridView.Rows.Count > 0) {
try
{
XcelApp.Application.Workbooks.Add(Type.Missing);
for (int i = 1; i < meuDataGridView.Columns.Count + 1; i++) {
XcelApp.Cells[1, i] = meuDataGridView.Columns[i - 1].HeaderText;
}
for (int i = 0; i < meuDataGridView.Rows.Count - 1; i++) {
for (int j = 0; j < meuDataGridView.Columns.Count; j++) {
XcelApp.Cells[i + 2, j + 1] = meuDataGridView.Rows[i].Cells[j].Value.ToString();
}
}
XcelApp.Columns.AutoFit();
XcelApp.Visible = true;
} catch (Exception ex) {
MessageBox.Show("Houve um erro: " + ex.Message);
XcelApp.Quit();
}
}
Exportar um DataGridView
para o Excel é uma funcionalidade que pode aumentar a produtividade dos usuários, permitindo a manipulação e o compartilhamento de dados de forma eficiente.
Este exemplo pode ser expandido com mais funcionalidades, como salvar o arquivo em um local específico, formatar células, ou adicionar gráficos.
CONHEÇA O CURSO COMPLETO DE C# COM + DE 100 AULAS PRÁTICAS. Tenha acesso vitalício e certificado de conclusão.
CLIQUE NA IMAGEM ABAIXO E CONFIRA MAIS DETALHES:
Dúvidas ou sugestões sobre como exportar DataGridView para o Excel em C#? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários