.net中从GridView中导出数据到excel(详细)

1,建立数据源 找到要导出的GridView中的数据。html

2,重写VerifyRenderingInServerForm方法。app

   public override void VerifyRenderingInServerForm(Control control)
 { ide

    }post

3,编写导到Excel的方法。ui

private void ExportGridView()
        {
            /**
             * 若是打印所有数据,则加上注视的代码
             * */
            //GVExport.AllowPaging = false;
            //GVExport.AllowSorting = false;
            //GVExport.DataSource = null;
            //GVExport.DataBind();
            DateTime dt = DateTime.Now;
            Response.ClearContent();
            Response.Buffer = true;
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
            string filename = "XX_" + dt.ToString("yyyyMMddHHmm") + ".xls";
            string[] browsers = { "Firefox", "AppleMAC-Safari", "Opera" }; //针对FF、Safari、Opera 设置编码
            string browser = Request.Browser.Browser;
            string attachment = string.Empty;
            if (Array.IndexOf<string>(browsers, browser) != -1)
            {
                attachment = "attachment; filename=" + filename;
            }
            else
            {
                attachment = "attachment; filename=" + Server.UrlEncode(filename);
            }
            Response.AddHeader("content-disposition", attachment);
            Response.Write("<meta http-equiv=Content-Type content=text/html;charset=utf-8>");
            Response.ContentType = "application/ms-excel";
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);
            GVExport.RenderControl(htw); 编码

 

            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
        }excel

相关文章
相关标签/搜索