http://www.cnblogs.com/iCeSnaker/archive/2004/04/22/7272.aspx

解决方案 »

  1.   

    一般都是从dataset中导出,但是楼主非要从datagrid导出得得话public void ExportToExcel(System.Web.UI.Control ctl) 

    bool CurrCtlVisible=ctl.Visible;
    ctl.Visible=true;        
    Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");  
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
    Response.ContentType = "application/ms-excel"; 
    ctl.Page.EnableViewState = false; 
    System.IO.StringWriter tw = new System.IO.StringWriter(); 
    System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw); 
    ctl.RenderControl(hw); 
    Response.Write(tw.ToString()); 
    Response.End(); 
                
    ctl.Page.EnableViewState = true; 
    ctl.Visible=CurrCtlVisible;
    }private void Button1_Click(object sender, System.EventArgs e)
    {
              
    this.ExportToExcel(DataGrid1);

    }
      

  2.   

    DataGrid必须有个数据源,对吧。数据源有可能是DataSet,或者是DataTable,DataReader,总之,把得到的数据导入到excel中不就可以了吗?
      

  3.   

    可是我做的是窗体模式的 ,不是网页形式的 ,有没有把窗体中的datagrid内的内容导出为excel的 ,谢谢了