在ASP.NET中将GridView数据导出到Word、Excel

asp.net,导出gridview数据到Word,Excel,PDF
 

#region Export to Word, Excel and PDF
    protected void btnword_Click(object sender, EventArgs e)
    {
        Response.AddHeader("content-disposition", "attachment;filename=FileName.doc");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = "application/vnd.word";
        System.IO.StringWriter stringWrite = new System.IO.StringWriter();
        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

// Create a form to contain the grid
        HtmlForm frm = new HtmlForm();
        GridView4.Parent.Controls.Add(frm);
        frm.Attributes["runat"] = "server";
        frm.Controls.Add(GridView4);
        frm.RenderControl(htmlWrite);

//GridView1.RenderControl(htw);
        Response.Write(stringWrite.ToString());
        Response.End();
    }
    protected void btnexcel_Click(object sender, EventArgs e)
    {
        string attachment = "attachment; filename=Contacts.xls";
        Response.ClearContent();
        Response.AddHeader("content-disposition", attachment);
        Response.ContentType = "application/ms-excel";
        StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);

// Create a form to contain the grid
        HtmlForm frm = new HtmlForm();
        GridView1.Parent.Controls.Add(frm);
        frm.Attributes["runat"] = "server";
        frm.Controls.Add(GridView1);
        frm.RenderControl(htw);

//GridView1.RenderControl(htw);
        Response.Write(sw.ToString());
        Response.End();
    }
    protected void btnpdf_Click(object sender, EventArgs e)
    {
        Response.Clear();

StringWriter sw = new StringWriter();
        HtmlTextWriter htw = new HtmlTextWriter(sw);
        GridView1.RenderControl(htw);

Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment; filename=MypdfFile.pdf");
        Response.Write(sw.ToString());
        Response.End();
    }

05-02 02:50