ASP.NET(C#)將數(shù)據(jù)導(dǎo)出到Word或Excel

字號(hào):


    最簡(jiǎn)單的方法是把頁(yè)面上所有的東西都導(dǎo)出
    在載入時(shí)調(diào)用,注意頁(yè)面里不能有其它控件,包括按鈕
    void converttoexcel()
    {
    Response.Clear();
    Response.Buffer = true;
    Response.Charset = "GB2312";
    Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");
    Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
    Response.ContentType = "application/ms-excel";
    this.Page.EnableViewState = false;
    System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
    this.Page.RenderControl(oHtmlTextWriter);
    Response.Write(oStringWriter.ToString());
    Response.End();
    }
    ASP.NET(C#)將數(shù)據(jù)導(dǎo)出到Word或Excel
    命名空間:
    using System.IO;
    using System.Text;
    將DataGrid的數(shù)據(jù)導(dǎo)出到Excel
    string excelname="excel文件名";
    HttpContext.Current.Response.Charset = "GB2312";
    HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
    HttpContext.Current.Response.ContentType = "application/ms-excel";
    HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + excelname + ".xls");
    dr1.Page.EnableViewState = false;
    StringWriter sw = new StringWriter();
    HtmlTextWriter tw = new HtmlTextWriter(sw);
    dr1.RenderControl(tw);
    HttpContext.Current.Response.Write(sw.ToString());
    HttpContext.Current.Response.End();
    將DataGrid的數(shù)據(jù)導(dǎo)出到Word
    string excelname="word文件名";
    HttpContext.Current.Response.Charset = "GB2312";
    HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;
    HttpContext.Current.Response.ContentType = "application/ms-winword";
    HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + excelname + ".doc");
    dr1.Page.EnableViewState = false;
    StringWriter sw = new StringWriter();
    HtmlTextWriter tw = new HtmlTextWriter(sw);
    dr1.RenderControl(tw);
    HttpContext.Current.Response.Write(sw.ToString());
    HttpContext.Current.Response.End();
    ASP.NET 2.0,C#----利用GridView控件導(dǎo)出其他文件(導(dǎo)出Excel,導(dǎo)出Word文件)
    // 注意,在Visual Studio2005平臺(tái)下,如果使用GridView導(dǎo)出文件,
    //就必須重載VerifyRenderingInServerForm方法
    public override void VerifyRenderingInServerForm(Control control)
    {
    }
    ///
    /// 導(dǎo)出到文件的方法,
    ///
    /// Model=1:導(dǎo)出為Execl,Model=2:導(dǎo)出為Word
    private void toFiles(int Model)
    {
    string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss");
    System.Web.HttpContext HC = System.Web.HttpContext.Current;
    HC.Response.Clear();
    HC.Response.Buffer = true;
    HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//設(shè)置輸出流為簡(jiǎn)體中文
    if (Model == 1)
    {
    //---導(dǎo)出為Excel文件
    HC.Response.AddHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls");
    HC.Response.ContentType = "application/ms-excel";//設(shè)置輸出文件類型為excel文件。
    }
    else
    {
    //--- 導(dǎo)出為Word文件
    HC.Response.AddHeader("Content-Disposition", "attachment;filename=" +HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".doc");
    HC.Response.ContentType = "application/ms-word";//設(shè)置輸出文件類型為Word文件。
    }
    System.IO.StringWriter sw = new System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
    this.GridView1.RenderControl(htw);
    HC.Response.Write(sw.ToString());
    HC.Response.End();
    }
    //-導(dǎo)出為Excel文件
    protected void ToExecl_Click(object sender, EventArgs e)
    {
    toFiles(1);
    }
    //-導(dǎo)出為Word文件
    protected void Button1_Click(object sender, EventArgs e)
    {
    toFiles(2);
    }
    FROM:http://hi.baidu.com/jg_%B3%C2/blog/item/4f0edf188851c50135fa41ce.html
    C#操作Word[轉(zhuǎn)]
    導(dǎo)入COM庫(kù):Microsoft word 11.0 Object Library.