簡體   English   中英

使用C#將HTML表格導出到多個Excel工作表

[英]Export Html Tables to Multiple Excel Sheet using C#

如何使用C#將多個表導出到多個Excel工作表? 以下代碼有效,但僅適用於1個html表。

    Response.ContentType = "application/x-msexcel";
    Response.AddHeader("Content-Disposition", "attachment; filename=ExcelFile.xls");
    Response.ContentEncoding = Encoding.UTF8;
    StringWriter tw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(tw);
    tbl.RenderControl(hw);
    Response.Write(tw.ToString());
    Response.End();

下面是* .aspx頁中的表。 而且我想在一張Excel多張工作表中同時使用兩個表格。

例如:表1在工作表1中表2在工作表2中

  <table id="tbl" border="1" runat="server" >
                <tr>
                    <td>Product</td>
                    <td>Price</td>
                    <td>Available</td>
                    <td>Count</td>
                </tr>
                <tr>
                    <td>Bred</td>
                    <td>1
                    </td>
                    <td>2
                    </td>
                    <td>3
                    </td>
                </tr>
                <tr>
                    <td>Butter</td>
                    <td>4
                    </td>
                    <td>5
                    </td>
                    <td>6
                    </td>
                </tr>
            </table>

     <table id="tbl2" border="1" runat="server" >
                <tr>
                    <td>KD</td>
                    <td>Dabhi</td>
                    <td>Qnil</td>
                    <td>Dabhi</td>
                </tr>
                <tr>
                    <td>Bred</td>
                    <td>1
                    </td>
                    <td>2
                    </td>
                    <td>3
                    </td>
                </tr>
                <tr>
                    <td>Butter</td>
                    <td>4
                    </td>
                    <td>5
                    </td>
                    <td>6
                    </td>
                </tr>
            </table>


     <asp:Button runat="server" ID="ExportToExcelButton" OnClick="ExportToExcelButton_Click"
        Text="Export To Excel" />

在您提到的示例中,您NOT創建Excel(或Excel WorkSheets),而是嘗試以Excel格式打開HTML內容。 這就是原因,即使您有TWO表,它們也將顯示在一張紙上。

使用Microsoft的OpenXml SDK ,您可以通過它創建任意數量的圖紙並將數據注入到圖紙中。 就日期類型而言,甚至OpenXml SDK也會遇到一些小問題(尤其是在從Excel工作表中讀取數據時)。 在這種情況下,您可以使用SpreadSheetGear之類的任何第三方Excel自動化提供程序。

GridViews的工作解決方案在這里:

http://www.aspsnippets.com/Articles/Exporting-Multiple-GridViews-To-Excel-SpreadSheet-in-ASP.Net.aspx

您可能還希望在這里尋求一些建議:

使用C#將表添加到Excel的第二張表

您可能要使用EPPLUS庫(免費)而不是互操作,因為它具有很多功能:

http://epplus.codeplex.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM