解决GridView导出Excel后,分页,排序,中文乱码的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tsoTeo/article/details/79066641
protected void btnExcel_Click(object sender, EventArgs e)
        {
            //清除客户端当前显示  
            Response.Clear();
            Response.Buffer = true;

            GridView.AllowPaging = false;

            GridView.Columns[1].Visible = false;
            GridView.Columns[4].Visible = false;

            HttpContext.Current.Response.Charset = "GB2312";
            HttpContext.Current.Response.Charset = "";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
            HttpContext.Current.Response.ContentType = "application/ms-excel";
            HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=GB2312\">");

            string dateStr = DateTime.Now.ToString("yyyyMMddHHmmss");
            string fileName = System.Web.HttpUtility.UrlEncode("导出-" + dateStr, System.Text.Encoding.UTF8);

            Response.AppendHeader("content-disposition", "attachment;filename=\"" + fileName + ".xls\"");
            this.EnableViewState = false;

            StringWriter oStringWriter = new StringWriter();
            HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);

            GridView.RenderControl(oHtmlTextWriter);
            Response.Write(oStringWriter.ToString());

            Response.End();   
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
        }

猜你喜欢

转载自blog.csdn.net/tsoTeo/article/details/79066641