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 colunasexcelApp.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;
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


em 18/5/2011 17:45 - Responder


Belo post fiz a implementação e deu certinho.
Só estou com um problema, minha aplicação está em um servidor IIS ai quando vou rodar o metodo da o seguinte erro:
404 - Arquivo ou diretório não encontrado.
O recurso que você está procurando pode ter sido removido, ter tido seu nome alterado ou estar temporariamente indisponível.
Quando roda na maquina local não aparece o erro.
Fico no aguardo
em 24/11/2011 14:07 - Responder

Luiz Agnelo C. MaiaValeu
[]s
em 1/12/2011 08:24 - Responder

Day DilsonEntao instalei o excel no servidor, mas o erro continua.
Tem mais alguma dica?
Fico no aguardo e obrigado pela ajuda anterior
em 23/4/2012 14:55 - Responder

Wesley YamazackUm abraço.
em 12/5/2012 14:47 - Responder
Henrylle Da Silva Maiaem 14/5/2012 22:49 - Responder
Space do autor


0
0
