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.