GridView导出Excel(中文乱码)

    public void OUTEXCEL(string items,string where)
        {
            DataSet ds = new StudentBLL().GetTable(items,where);
            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 65536)
                {
                    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('导出数据超过最大限制行数,请添加条件再试!');</script>");
                    return;
                }
                GridView1.DataSource = ds.Tables[0];
                GridView1.AllowPaging = false;
                GridView1.DataBind();

                Response.ClearContent();
                Response.BufferOutput = true;
                HttpContext.Current.Response.Charset = "UTF8";
                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Default;//注意编码
                Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
                HttpContext.Current.Response.ContentType = "application/ms-excel";
                // Response.ContentType = "application/excel";
    
                using (StringWriter sw = new StringWriter())
                {

                    HtmlTextWriter htw = new HtmlTextWriter(sw);

                    GridView1.RenderControl(htw);

                    Response.Write(sw.ToString());
                }
                Response.End();
            }
            else
            {
                Response.Write("<script>window.history.back(-1);</script>");

            }

        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            // 方法重写

        }
原文地址:https://www.cnblogs.com/wangzhenghua/p/4493998.html