C# - Criando um Arquivo Excel
Este tutorial vai mostrar como criar um arquivo Excel (estou usando a versão Excel 2007) usando a linguagem C#.
Recursos usados :
Abra o Visual C# 2010 Express Edition e no menu File clique em New Project selecionando o template Windows Forms Application com o nome : CriarArquivoExcel
A seguir no formulário padrão form1.cs inclua os seguintes controles:
Conforme o leiaute abaixo:
Vamos incluir uma referência em nosso projeto a biblioteca Microsoft.Office.Interop.Excel;
No menu Project clique em Add Reference;
Na janela Add Reference clique na guia COM e selecione : Microsoft Excel 12.0 Object Library e clique em OK;
Vamos definir o código do formulário form1.cs definindo os namespaces a serem usados :
using System;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
A seguir vamos definir o código do evento Click do botão de comando conforme abaixo:
private void btnCriarArquivoExcel_Click(object sender, EventArgs e) { try { Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkSheet.Cells[1, 1] = "http://www.macoratti.net"; xlWorkBook.SaveAs(txtArquivoExcel.Text, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); liberarObjetos(xlWorkSheet); liberarObjetos(xlWorkBook); liberarObjetos(xlApp); MessageBox.Show("O arquivo Excel foi criado com sucesso. Você pode encontrá-lo em : " + txtArquivoExcel.Text); } catch (Exception ex) { MessageBox.Show("Erro : " + ex.Message); } } |
Estamos criando um arquivo Excel com o nome e no caminho informados. Para identificar estamos incluindo um link no arquivo. ( xlWorkSheet.Cells[1, 1] = "http://www.macoratti.net";)
A rotina liberaObjetos() irá liberar os objetos criados e tem o seguinte código:
private void liberarObjetos(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; MessageBox.Show("Ocorreu um erro durante a liberação do objeto " + ex.ToString()); } finally { GC.Collect(); } } |
Executando o projeto e clicando no botão de comando teremos:
Verificando a pasta c:\dados podemos constatar o arquivo Macoratti_Excel.xls criado:
E abrindo o arquivo no Excel teremos o conteúdo conforme abaixo:
Assim de forma bem simples mostramos como criar um arquivo .xls no C#.
Obs: Para ler o arquivo Criado você pode usar o código abaixo. Ele exibirá o resultado em um controle DataGridView.
private void lerExcel() { string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""", txtArquivoExcel.Text); string query = String.Format("select * from [{0}$]", "Plan1"); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString); DataSet dataSet = new DataSet(); dataAdapter.Fill(dataSet); gdvExcel.DataSource = dataSet.Tables[0]; } |
Pegue o projeto completo aqui: CriarArquivoExcel.zip
Salmos 4:1
Responde-me quando eu clamar, ó Deus da minha justiça! Na angústia me deste largueza; tem misericórdia de mim e ouve a minha oração.Veja os Destaques e novidades do SUPER CD VB 2012 (sempre atualizado) : clique e confira ! Quer migrar para o VB .NET ? Veja mais sistemas completos para a plataforma .NET no Super CD .NET e no Super DVD .NET , confira... Quer aprender C# ?? Chegou o
Super DVD C# 2012
com exclusivo material de
suporte e vídeo aulas com curso básico sobre C# |
Referências: