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

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


引用中添加:

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"




你可能感兴趣的:(B/S 将数据导出到excel或者word中 【编辑 one】)