Desenvolvimento - C#

Exportar DataGridView para arquivo do Excel com C#

Veja neste artigo como exportar dados de um DataGridView para um arquivo do Excel.

por Programador Online



Antes de tudo, vamos adicionar a referência: “Microsoft.Office.Interop.Excel” para que possamos importar e acessar os arquivos .xls.

Você pode adicionar a referência acessando o menu “Project>Add Reference…”

Adicionar referência ao Microsoft.Office.Interop.Excel

Figura 1: Adicionar referência ao Microsoft.Office.Interop.Excel

Agora, declare ‘Excel’ como tipo da mesma referência.

Listagem 1: Importando e nomeando o Namespace

using Excel = Microsoft.Office.Interop.Excel;

Agora, crie uma conexão de dados e adicione um DataGridView ao formulário da seguinte maneira: (Não modifiquei o nome dos controles).

Layout inicial do formulário

Figura 2: Layout inicial do formulário

Listagem 2: Código para salvar os dados em arquivo

private void button1_Click(object sender, EventArgs e)
{
SaveFileDialog salvar = new SaveFileDialog() // novo 

SaveFileDialog

Excel.Application App; // Aplicação Excel
Excel.Workbook WorkBook; // Pasta
Excel.Worksheet WorkSheet; // Planilha
object misValue = System.Reflection.Missing.Value;

App = new Excel.Application();
WorkBook = App.Workbooks.Add(misValue);
WorkSheet = (Excel.Worksheet)WorkBook.Worksheets.get_Item(1);
int i = 0;
int j = 0;

// passa as celulas do DataGridView para a Pasta do Excel
for (i = 0; i <= dataGridView1.RowCount - 1; i++)
{
for (j = 0; j <= dataGridView1.ColumnCount - 1; j++)
{
DataGridViewCell cell = dataGridView1[j, i];
WorkSheet.Cells[i + 1, j + 1] = cell.Value;
}
}

// define algumas propriedades da caixa salvar
salvar.Title = "Exportar para Excel";
salvar.Filter = "Arquivo do Excel *.xls | *.xls";
salvar.ShowDialog(); // mostra

// salva o arquivo
WorkBook.SaveAs(salvar.FileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, 

Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
WorkBook.Close(true, misValue, misValue);
App.Quit(); // encerra o excel

MessageBox.Show("Exportado com sucesso!");
}

Basta testar o código e ver o resultado:

Resultado da execução do código

Figura 3: Resultado da execução do código

Abraço e até a próxima.

Blog do Autor Programador Online.

Programador Online

Programador Online - Fundador do Blog Programador Online.