Response.Clear(); 
Response.Buffer= false; 
Response.Charset="GB2312"; 
Response.AppendHeader("Content-Disposition","attachment;filename=test.xls"); 
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
this.EnableViewState = false; 
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 
this.DataGrid1.RenderControl(oHtmlTextWriter); 
Response.Write(oStringWriter.ToString()); 
Response.End(); 
试过只能导出我显示的列(不想再从数据库取一次)