导出
protected void Button1_Click(object sender, EventArgs e)
    {
        Export("application/ms-excel", "学生成绩报表.xls");
    }    private void Export(string FileType, string FileName)
    {
        Response.Charset = "GB2312";
        Response.ContentEncoding = System.Text.Encoding.UTF7;
        Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
        Response.ContentType = FileType;
        this.EnableViewState = false;
        StringWriter tw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(tw);
        GridView1.RenderControl(hw);
        Response.Write(tw.ToString());
        Response.End();
    }

解决方案 »

  1.   

    public void OuttoExcel()
    {
    this.DataGrid1.AllowPaging = false;
    string sql="select * from car_usestatus where state='已入库' order by out_time DESC";
    DatabaseConnect c=new DatabaseConnect();
    DataSet ds=c.getBinding(sql,"t"); Response.Clear();
    Response.Buffer= true;
    Response.ContentType = "application/vnd.ms-Excel";
    Response.Charset = "";
    this.EnableViewState = false; System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    DataGrid1.DataSource = ds.Tables["t"].DefaultView; //返回DataSet或DataTable
    DataGrid1.DataBind(); ClearControls(DataGrid1);  DataGrid1.RenderControl(oHtmlTextWriter); Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Write(oStringWriter.ToString()); Response.End();
    this.DataGrid1.AllowPaging = true;
    }
    private void ClearControls(Control control)
    {
    for (int i = control.Controls.Count - 1; i >= 0; i--)
    {
    ClearControls(control.Controls[i]);
    } if (!(control is TableCell))
    {
    if (control.GetType().GetProperty("SelectedItem") != null)
    {
    LiteralControl literal = new LiteralControl();
    control.Parent.Controls.Add(literal);
    try
    {
    literal.Text = (string)control.GetType().GetProperty("SelectedItem").GetValue(control, null);
    }
    catch
    {
    }
    control.Parent.Controls.Remove(control);
    }
    else if (control.GetType().GetProperty("Text") != null)
    {
    LiteralControl literal = new LiteralControl();
    control.Parent.Controls.Add(literal);
    literal.Text = (string)control.GetType().GetProperty("Text").GetValue(control, null);
    control.Parent.Controls.Remove(control);
    }
    }
    return;
    }
      

  2.   

    和你方法一样的,只是多了两句代码和一个private void ClearControls方法
      

  3.   

    谢谢:dinoLgrace(淡泊以明志,宁静而致远)
      

  4.   

    string sql="select * from nb_VehicleMaintenance where DT_ApplicationTime='已入庫' order by out_time DESC";
    DatabaseConnect c=new  DatabaseConnect();
    DataSet ds=c.getBinding(sql,"t");這段代碼怎麼理解?