Gerar uma planilha do Excel com C#

Este é um exemplo bem simples de como podemos utilizar a biblioteca de objetos de Excel dentro de uma aplicação Windows Forms. Como exemplo, nesta demonstro como exportar dados digitados pelo usuário para uma planilha do Excel.

Download de exemplo de como exportar dados para o Excel com C#

Você pode baixar o exemplo desta aula neste link;
https://aulas-profanderson.azurewebsites.net/ds/ExportaExcel.zip

Como exportar dados para o Excel com C#

Abaixo o passo a passo e códigos de como exportar dados para uma planilha do Excel.

  1. Crie o seguinte formulário;
  2. Clique no menu PROJECT > ADD REFERENCE e adicione o componente Microsoft Excel.
  3. Na cláusula USING, importe a classe do Excel usando o código:
    using Excel = Microsoft.Office.Interop.Excel;
  4. Dentro do botão Exportar para o Excel, use o seguinte código:
    // Inicia o componente Excel
    Excel.Application xlApp;
    Excel.Workbook xlWorkBook;
    Excel.Worksheet xlWorkSheet;
    object misValue = System.Reflection.Missing.Value;
    //Cria uma planilha temporária na memória do computador
    xlApp = new Excel.Application();
    xlWorkBook = xlApp.Workbooks.Add(misValue);
    xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
    
    //incluindo dados
    xlWorkSheet.Cells[1, 1] = "Dados do cliente:";
    xlWorkSheet.Cells[1, 2] = textBox1.Text;
    xlWorkSheet.Cells[1, 3] = textBox2.Text;
    xlWorkSheet.Cells[1, 4] = textBox3.Text;
    
    //Salva o arquivo de acordo com a documentação do Excel.
    xlWorkBook.SaveAs("arquivo.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue,
    Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
    xlWorkBook.Close(true, misValue, misValue);
    xlApp.Quit();
    
    //o arquivo foi salvo na pasta Meus Documentos.
    string caminho = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    MessageBox.Show("Concluído. Verifique em " + caminho + "arquivo.xls");
    
  5. O arquivo arquivo.xls contendo os dados exportados foi criado na pasta Meus Documentos. Se quiser abrir automaticamente o arquivo do Excel, leia a aula https://www.blogson.com.br/chamando-processos-do-windows-em-c/

Agora é só adaptar este exemplo no seu projeto.

Importante! Se a sua intenção é exportar dados de uma consulta de banco de dados MySQL para o Excel, você pode simplesmente usar o a função INTO OUTFILE ao invés de usar o código acima. A sintaxe é;

SELECT ... FROM ... WHERE ... 
INTO OUTFILE 'arquivo.csv'
FIELDS TERMINATED BY ';'