GridView导出到excel

本文是asp.net  Gridview操作小积累,用得着的可以参考一下,本例子思想来源于webcast

 

前台关键代码:

<asp:GridView ID="GridView1" runat="server">

    </asp:GridView>

    <asp:Button ID="butExport" runat="server" Text="Export" 

        οnclick="butExport_Click" />

 

后台关键代码:

protected void butExport_Click(object sender, EventArgs e)
        {
            Response.Clear();//清除缓冲区所有内容,防止影响导入到excel的数据
            Response.Buffer = true; //response缓存
            Response.Charset = "GB2312"; //设置输出流字符集
            Response.AppendHeader("Content-Disposition","attachment;filename="+@"d:/person.xls"); //设置excel存放路径
            //如果设置GetEncoding(“GB2312”)可能会出现乱码问题 
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            //设置为excel文件输出
            Response.ContentType = "application/ms-excel";
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlWriter = new HtmlTextWriter(oStringWriter);
            this.GridView1.RenderControl(oHtmlWriter);
            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();
        }
        //下面类必须重写,否则运行时会报错
        public override void VerifyRenderingInServerForm(Control control)
        {
            //base.VerifyRenderingInServerForm(control);
        }

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章