B/S 将数据导出到excel或者word中 【编辑 one】

来源:互联网 发布:淘宝宝贝一键复制 编辑:程序博客网 时间:2024/04/29 11:14

之前有写过导出数据之类的博客,可是感觉都不是很便捷,今天我在此累积了另外一种方法


引用中添加:

using System.Text;
using System.IO;

.aspx页面

<body>    <form id="form1" runat="server">    <div>        <table class="style1" id="table">            <tr>                <td>                    你好,我是测试表格                </td>                <td>                    还有欠缺请包含                </td>            </tr>            <tr>                <td>                    dfgfsd                </td>                <td>                    hello                </td>            </tr>            <tr>                <td>                    不及跬步                </td>                <td>                    无以至千里                </td>            </tr>            <tr>                <td>                                     </td>                <td>                    朋友希望能帮到你哦                </td>            </tr>        </table>         <asp:Button ID="btnword" runat="server" OnClick="btnword_Click1" Text="=导出到excel=" />    </div>    </form></body>

   .cs代码部分

    public override void VerifyRenderingInServerForm(Control control)    {    }    /// <summary>    ///  导出到文件的方法,    /// </summary>    /// <param name="Model">Model=1:导出为Execl,Model=2:导出为Word</param>    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;//设置输出流为简体中文        if (Model == 1)        {            //---导出为Excel文件            HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".xls");            HC.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。        }        else        {            //--- 导出为Word文件            HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".doc");            HC.Response.ContentType = "application/ms-word";//设置输出文件类型为Word文件。        }        System.IO.StringWriter sw = new System.IO.StringWriter();        System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);        this.RenderControl(htw);        HC.Response.Write(sw.ToString());        HC.Response.End();    }    //-导出为Word文件    protected void Button1_Click1(object sender, EventArgs e)    {        toFiles(2);//若参数为1则导出的形式为 excel    }


注意:在

 this.RenderControl(htw); //这个地方可能回报错 请在页面设置的时候加上以下代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="WebUI_test_Default"    EnableEventValidation="false" %>
  EnableEventValidation="false"