quarta-feira, 3 de fevereiro de 2010

C#: Transformar uma GridView em um Arquivo do Excel

Objetivo:

Gerar um arquivo do Excel apartir de uma GridView.

public void geraExcel(GridView gridView, Page oPage, string nomeArquivo)
    {
        try
        {
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
            System.Web.HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= " + nomeArquivo + ".xls");

            System.Web.HttpContext.Current.Response.Charset = "";

            gridView.EnableViewState = false;

            System.IO.StringWriter oSW = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTw = new HtmlTextWriter(oSW);
            HtmlForm frm = new HtmlForm();

            oPage.Controls.Add(frm);
            frm.Controls.Add(gridView);
            frm.RenderControl(oHtmlTw);

            System.Web.HttpContext.Current.Response.Write(oSW.ToString());
            System.Web.HttpContext.Current.Response.End();
        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message);
        }
    }

 Mais simples que andar pra frente.

Nenhum comentário:

Postar um comentário