Criando planilhas e gráficos no EXCEL com C#

Considere a seguinte interface

 

Utilize o seguinte código dentro do botão:

// 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, 7] = "Dados do cliente:";
 xlWorkSheet.Cells[2, 7] = textBox1.Text;
 xlWorkSheet.Cells[3, 7] = textBox2.Text;
 xlWorkSheet.Cells[4, 7] = textBox3.Text;
 
//Acrescentando mais dados, para gerar o gráfico.
xlWorkSheet.Cells[1, 1] = "Alunos x Componentes";
 xlWorkSheet.Cells[1, 2] = "Pablo";
 xlWorkSheet.Cells[1, 3] = "Paulo";
 xlWorkSheet.Cells[1, 4] = "Marciel";

xlWorkSheet.Cells[2, 1] = "DS (Anderson)";
 xlWorkSheet.Cells[2, 2] = "8";
 xlWorkSheet.Cells[2, 3] = "6";
 xlWorkSheet.Cells[2, 4] = "4";

xlWorkSheet.Cells[3, 1] = "TM (Anderson)";
 xlWorkSheet.Cells[3, 2] = "7";
 xlWorkSheet.Cells[3, 3] = "7";
 xlWorkSheet.Cells[3, 4] = "6";

xlWorkSheet.Cells[4, 1] = "PC (Sergio, a lenda!)";
 xlWorkSheet.Cells[4, 2] = "8";
 xlWorkSheet.Cells[4, 3] = "8";
 xlWorkSheet.Cells[4, 4] = "6";

xlWorkSheet.Cells[5, 1] = "PTCC (ProLú)";
 xlWorkSheet.Cells[5, 2] = "7";
 xlWorkSheet.Cells[5, 3] = "8";
 xlWorkSheet.Cells[5, 4] = "6";

Excel.Range chartRange;

Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing);
 Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(100, 180, 500, 300);
 Excel.Chart chartPage = myChart.Chart;
 
 
 chartRange = xlWorkSheet.get_Range("A1", "d5");
 chartPage.SetSourceData(chartRange, misValue);
 chartPage.ChartType = Excel.XlChartType.xlBubble;

//Salva o arquivo de acordo com a documentação do Excel.
 string caminho = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
 File.Delete(caminho + "\\arquivo.xls");
 xlWorkBook.SaveAs("arquivo.xls", Excel.XlFileFormat.xlWorkbookNormal);
 xlWorkBook.Close(true, misValue, misValue);
 xlApp.Quit();

//o arquivo foi salvo na pasta Documentos. 
 MessageBox.Show("Concluído. Verifique em " + caminho + "arquivo.xls");


//inicia a classe ProcessStartInfo
 ProcessStartInfo AbrirArquivoExcel = new ProcessStartInfo();
 //O caminho do arquivo do Excel
 AbrirArquivoExcel.FileName = caminho + "\\arquivo.xls";
 // executa o comando passado ao cmd
 Process.Start(AbrirArquivoExcel);

Resultado: