繁体   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