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:


José Carlos Macoratti