public static void ExpData(string strFileName, DataTable dt) { //清除Response缓存内容 HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; strFileName = strFileName + ".xls"; //确定字符的编码格式 HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName)); HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; HttpContext.Current.Response.Charset = "GB2312"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); GridView dv = new GridView(); dv.DataSource = dt; dv.DataBind(); try { dv.Page.EnableViewState = false; } catch { } System.IO.StringWriter swBody = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hwBody = new System.Web.UI.HtmlTextWriter(swBody); dv.RenderControl(hwBody); //消除乱码特别设定,非常规方法 string strExcel = ""; strExcel = "<meta http-equiv=/"Content-Type/" content=/"text/html; charset=gb2312/">"; strExcel += hwBody.InnerWriter.ToString(); HttpContext.Current.Response.Write(strExcel); HttpContext.Current.Response.End(); } 直接调用都可以了!