Exportação para o Excel em .Net – Formatando células

Hoje iremos entrar um pouco mais no detalhe, onde mostraremos como recuperar um conjunto de células e manipular a formatação das mesmas.

Exportação para o Excel em .Net –Formatando células

Olá pessoal, no último artigo nós vimos como fazer uma exportação simples, inserindo valores nas células.

Hoje iremos entrar um pouco mais no detalhe, onde mostraremos como recuperar um conjunto de células e manipular a formatação das mesmas.

Podemos utilizar nosso mesmo projeto para este exemplo. A diferença é que desta vez iremos formatar os títulos das colunas, simulando o cabeçalho de um relatório.

Vou remover do código abaixo os comentários que já foram citados no artigo anterior, deixando apenas comentário nas linhas novas, para evitar que o exemplo fique com a visualização poluída.

No evento onclick de nosso botão, teremos:

private void simpleButton1_Click(object sender, EventArgs e)

{

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();

 

//Objeto que representa um conjunto de células

Microsoft.Office.Interop.Excel.Range celulas;

 

excelApp.Workbooks.Add(Type.Missing);

excelApp.Visible = true;//Exportação de colunas

excelApp.Cells[1,1] = "Codigo";

excelApp.Cells[1,2] = "Nome";

excelApp.Cells[1,3] = "Data de Cadastro";

excelApp.Cells[1,4] = "Percentual de Desconto";

 

//Vamos agora centralizar os títulos

celulas = excelApp.get_Range("A1", "D1");

celulas.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlCenter;


//Recuperamos o conjunto de células de A1 até D1

celulas = excelApp.get_Range("A1", "D1");

//Após recuperarmos, podemos manipular o conjunto

//Neste caso, mudaremos a cor para cinza

celulas.Interior.Color = ColorTranslator.ToWin32(Color.LightGray);

//colocaremos a font como negrito

celulas.Font.Bold = true;

//inserimos borda na célula

celulas.Borders.LineStyle = XlLineStyle.xlContinuous;

 

//Exportação das linhas

excelApp.Cells[2, 1] = "1";

excelApp.Cells[2, 2] = "Sr. Adocica";

excelApp.Cells[2, 3] = "01/01/2010";

excelApp.Cells[2, 4] = "0,2";

 

excelApp.Cells[3, 1] = "2";

excelApp.Cells[3, 2] = "Beto Barbosa Jr";

excelApp.Cells[3, 3] = "01/06/2010";

excelApp.Cells[3, 4] = "0,3";

 

//Agora vamos formatar as colunas de nosso "Relatório"

//Para isso precisamos primeiro recuperar as célula

celulas = excelApp.get_Range("C2", "C3");

celulas.NumberFormat = "dd/mm/aaaa";

celulas = excelApp.get_Range("D2", "D3");

celulas.NumberFormat = "0,00%";

 

//Vamos exibir um total, com o numero de registros

//do relatório, onde aproveitaremos para mesclar

//3 células

excelApp.Cells[4, 1] = "Total de Registros";

celulas = excelApp.get_Range("A4", "C4");

celulas.Merge(Type.Missing);

excelApp.Cells[4, 4] = "2";

 

//Após exportar as linhas, podemos autoAjustar as colunas

excelApp.Columns.AutoFit();

 

//Salvamos a planilha passando o caminho como parâmetro

excelApp.ActiveWorkbook.SaveCopyAs("C:\\Excel_DevMedia.xls");

 

//Informamos que nossa planilha foi salva para que não sejamos

//questionados ao fechar a mesma

excelApp.ActiveWorkbook.Saved = true;

 

//fechamos a aplicação

excelApp.Quit();

}

É isso aí pessoal, vou ficando por aqui. Hoje vimos mais detalhes desta exportação. Creio que isso já seja suficiente para exportarmos boa parte de nossos relatórios para o excel.

Espero que tenham gostado, fiquem a vontade para dar feedback, críticas e sugestões de novos temas para os próximos artigos.

Um abraço.
Ricardo Coelho.
http://www.agilexp.blogspot.com/
http://www.rwsolution.com.br

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados