DICAS .NET

 Busca Online:

 
Seja bem vindo(a) Visitante, você não está logado deseja logar
no portal para participar de serviços e promoções ? clique aqui.


No caso de perder a senha, acesse aqui e receba por e-mail.
Deseja entrar em contato conosco, acesse aqui e mande-nos um e-mail.

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

Download Copy





 
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

CRIANDO MENU DINÂMICO COM C#.NET Passo 1
Conhecendo o controle Wizard ASP.NET 2.0
CSS no VS 2003
Windows Phone 7 Jump Start
E-mail Carta de Amor - Vírus
Ler RSS usando o Visual Studio.NET 2005
Montando Menu Dinâmico com Banco de Dados
Desenvolvendo software com qualidade
Calcular Média de Combustível
Vídeo - Serviços do Windows Live
Moving to Visual Studio 2010 e-Book
Visual SourceSafe 2 / 3 parte
Dell Streak Demo
Treinamento VSTS
IsWholeNumber
LG Optimus Black
GridView - Valor total no footer
Label Server Control AccessKey
Generics usando Object DataSource
Microsoft touch mouse
Visual SourceSafe
Criando XML a partir de um DATASET tipado – Parte II
Samsung em NYC
Código fonte do livro DESENVOLVENDO WEBSERVICES
Criando e Lendo Cookie
Gerando Relatório e Exportando para o Excel
Mobilidade e Aplicativos Mobile
CES em Las Vegas
Virus: Provocando sua curiosidade
Abrir o programa apenas uma vez
Definindo o botão padrão.
Escrever log de erro e warning
Aspirador de pó inteligente
Importar projetos antigos para o Visual Studio 2010
Criando RSS




eCode10 Magazine 4 Edição

Baixe a sua sem pagar nada, basta apenas ter um cadastro na comunidade aspneti.com ou ser usuário do ecode10.com.



Edições anteriores
LAYERDEV

Notícias *

Notebook 3D ou 4K?

Notebook vem com tudo...

Visão do Futuro - Day of Glass 2

Futuro próximo pode chegar cedo?...

Lenovo de 14 polegadas IdeaPad

Veja o novo notebook Lenovo IdeaPad...

Windows 8 Store

Channel9 publica um vídeo da Windows Store...

Sony Vaio série Z

Novo Vaio Ultrabook? ou não Ultrabook?...

Samsung quer comprar RIM

Imagine se juntar as duas companhias...

Surface 2.0 mostrado

Novo Surface é mostrado de forma incrível...

Skype Tablet

Será que esse skype tablet pega mesmo?...

Lenovo e o seu novo Ultrabook

Ultrabook chega também pela Lenovo...




NETITC