Response.AddHeader("Content-Disposition", "attachment; filename=myXls.xls"); 
Response.Charset = "utf-8"; 
Response.ContentType = "application/vnd.ms-excel"; 
Response.Charset = ""; 
this.EnableViewState= false; 
StringWriter tw = new StringWriter(); 
HtmlTextWriter hw = new HtmlTextWriter(tw); 
this.DataGrid1.RenderControl(hw); 
Response.Write(tw); 
Response.End();

解决方案 »

  1.   

    public void ToExcel(System.Web.UI.Control ctl)  
    {
    HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
    HttpContext.Current.Response.Charset ="UTF-8";
    HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
    HttpContext.Current.Response.ContentType ="application/ms-excel";
    ctl.Page.EnableViewState =false;
    System.IO.StringWriter  tw = new System.IO.StringWriter() ;
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
    ctl.RenderControl(hw);
    HttpContext.Current.Response.Write(tw.ToString());
    HttpContext.Current.Response.End();
    }