Jump to content


Photo

Exportar Gridview Para Excel


  • Faça o login para participar
1 reply to this topic

#1 Mário_Santos

Mário_Santos

    Novato no fórum

  • Usuários
  • 1 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 02/02/2012, 14:30

Olá Pessoal estou com problema para exportar Um GridView para o Excel, segue abaixo meu código, após passar pelo Response.End(); apresenta o seguinte erro
{Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}

Criei o botão abaixo:

protected void btnImprimir_Click(object sender, EventArgs e)
{

try
{
string attachment = "attachment; filename=Contacts.xls";
Response.ClearContent();

//Converter campos de controle como CheckBox, DropDownList..
PreparaGridView(gvResultado1);

gvResultado1.EnableViewState = false;

Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gvResultado1.RenderControl(htw);
Response.Write(sw.ToString());

Response.End();

}
catch (Exception err)
{
throw err;
}

}


Estou usando esta função para tratar o checBocks que tenho no grid

private void PreparaGridView(Control gv)
{

LinkButton lb = new LinkButton();
Literal l = new Literal();
for (int i = 0; i < gv.Controls.Count; i++)
{
if (gv.Controls[i].GetType() == typeof(LinkButton))
{
l.Text = (gv.Controls[i] as LinkButton).Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(DropDownList))
{
l.Text = (gv.Controls[i] as DropDownList).SelectedItem.Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(CheckBox))
{
l.Text = (gv.Controls[i] as CheckBox).Checked ? "True" : "False";
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
if (gv.Controls[i].HasControls())
{
PreparaGridView(gv.Controls[i]);
}

}
}

Algué, ja passou por isso, ou poderia me dar help?

#2 Paty Lopes

Paty Lopes

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Feminino
  • Localidade:Rio de Janeiro
  • Interesses:Maquiagem, programação.

Posted 12/03/2012, 19:23

Mario,

A Devmedia tem um artigo interessante sobre o assunto:
Exportação de dados de GridView para Excel e Word
Segue descrição do artigo:
Veja neste artigo como exportar dados de um gridview para arquivos Excel e Word. Veremos um exemplo bem simples utilizando recursos do próprio .Net para realizar a exportação.

Espero que te ajude. Caso não ajude, eles tem um vídeo também, mas aí precisa ser assinante do site, no meu caso eu sou.

Video: ASP.NET e exportação de dados para o Excel

Beijinhos.

Paty




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq