martes, 9 de junio de 2009

Exportar a Excel GridView con Encabezados

protected void Exportar(GridView gv,string filename,string titulo)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

GridView gvaux = new GridView();
gvaux = gv;

Page page = new Page();
HtmlForm form = new HtmlForm();


gvaux.EnableViewState = false;
gvaux.AllowPaging = false;


page.EnableEventValidation = false;

page.DesignerInitialize();

page.Controls.Add(form);
form.Controls.Add(gvaux);


page.RenderControl(htw);

Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + "Buscador.xls");
Response.Charset = "UTF-8";
Response.ContentEncoding = Encoding.Default;
Response.Write(Encabezado(titulo) + sb.ToString());
Response.End();


}


public string Encabezado(string titulo)
{
Sesion ses = (Sesion)Session["Sesion"];
DateTime dt1 = DateTime.Now;
string Header = "";

Header = Header + "Titulo";
Header = Header + "

";
Header = Header + "";
Header = Header + "Generado el ";
Header = Header + String.Format("{0: dd/MM/yy - HH:mm }", dt1);
Header = Header + "
";
Header = Header + "

";
Header = Header + "";
Header = Header + titulo;
Header = Header + "
";
Header = Header + "
";
Header = Header + "

";
return Header;
}

6 comentarios:

  1. Me ayudaron un monton con este codigo!!!! Funciona!!!! Muchas gracias Genios!!!

    ResponderEliminar
  2. gracias chicas, las amooo

    ResponderEliminar
  3. ¿Alguien lo tendrá en VB? GRacias de antemano, chicos. Saludos

    ResponderEliminar
  4. prodrian ayudarme con código en c# porfavor?

    ResponderEliminar
  5. Buenisimo gracias fue de mucha ayuda!!!

    ResponderEliminar