Gerando Relatório e Exportando para o Excel


por Mauricio Junior em 1/1/2011 0

Com Visual Studio.Net 2005

 

Olá pessoal meu nome é Mauricio Junior, estou a desenvolver esse artigo para mostrar como gerar relatório e exportar para o Excel. Espero que possa estar aprendendo muito com o artigo. É de simples entendimento e rápida produtividade para gerar o mesmo. O mesmo será desenvolvimento em C#.NET.

Referência: 1-1

alt


Na tela de referência 1-1 mostro apenas a tela que gerei com o visual studio.net 2005. Cliquei com o botão direito no produto e adicionei um novo item ADD NEW ITEM... O nome do novo item é gerandoExcel.aspx.


O código abaixo mostra o que tem na parte HTML da página:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gerandoExcel.aspx.cs" Inherits="gerandoExcel" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Gerar Excel</title>

</head>

<body>

<form id="form1" runat="server">

<div>

<asp:Label ID="lblExcel" runat=server></asp:Label>

</div>

</form>

</body>

</html>

 

A única coisa que acrescentei na página foi um label com o nome lblExcel. O mesmo está com a cor alaranjada para que note o que foi acrescentado.

A figura 1-2 mostra a parte de design da tela.


alt

Dentro da classe, já dentro do código C#.NET, criarei um método para gerar em arquivo excel. Será chamada depois do objeto label for preenchido. Note que é bem simples, dessa forma poderei fazer qualquer relatório ser mostrado no excel.

 

alt

Referência: 1-3


Segue o código:

 

protected void Page_Load(object sender, EventArgs e)

{

lblExcel.Text = "Teste <br> teste <br> gerando excel <br>";

geraExcel();

}

protected void geraExcel()

{

Response.Clear();

Response.Buffer = true;

Response.ContentType = "application/vnd.ms-excel";

Response.Charset = "";

this.EnableViewState = false;

System.IO.StringWriter oStringWriter = new System.IO.StringWriter();

System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

Response.Write(oStringWriter.ToString());

}

 

 

 

Explicando o código:

Na entrada da página, preencho o label com um texto aleatório como "Teste <br> teste <br> gerando excel <br>"; . A linha debaixo, chamo o método criado para gerar o arquivo excel. O método chama-se geraExcel() que já faz o mesmo virar um arquivo excel. O segredo do método é a linha Response.ContentType = "application/vnd.ms-excel"; . Note que a assinatura do método é, protected protegido e void, não retorna valor algum.

Não esqueça de colocar a página como página inicial do projeto e inicie o projeto.

 

alt

 

Referência: 1-4

 

Clique em OPEN e espere alguns segundos.

alt


Referência: 1-5

 

A figura 1-5 mostra resultado acima do código criado. Pode ser feito qualquer relatório com qualquer objeto na tela, depois é só chamar o método para gerar o relatório.

 

Espero que este artigo tenha sido de grande valia.

voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Mauricio Junior - 7/12/2010 0:00:00
Pessoal, para exportar para o excel com acento, coloque depois do databind() o código abaixo: Response.ContentEncoding = System.Text.Encoding.GetEnconding("ISO-8859-1");

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

GridView Parte III
Inserindo valor na combo depois de preenchida
Convertendo String para Guid
Ordenando no DataTable
Insistência com Vírus por E-mail
Detectando Browser Mobile
Cortando String XML
Sistema de Catalogar Livros
Sistema ASP 3.0 utilizando 3 camadas – Parte 1
Visual Studio 11 – Novas funcionalidades e melhorias parte 3
Vídeo HTC
Litl um computador web
Escrever log de erro e warning
Evento na Faculdade Projeção
Método SHA 256
LG Optimus 7 com Windows Phone 7
Nem tudo é o que parece!
Criando Email Modelo no Mail - MacBook
Abrindo o menu apenas com o clique
Formatando String rapidamente
Primeiros passos para um programador - Apple
Exemplo usando try e catch
Vídeo - Serviços do Windows Live
Treinamento VSTS
Abrindo Janela de Forma Modal
IsWholeNumber
O futuro da tecnologia com a Microsoft
Focus()
Método MD5
Sistema de Login com ASP 3.0 usando três camadas – Parte I
iGas - Sistema de Controle de Combustível
Channel9 - Soap, OData, Json
Abrir o programa apenas uma vez
Nova versão iCredCard aprovado pela Apple
Orientação a Objetos - Microsoft PetShop 3.0