[asp.net-mvc]怎么写我的 html 表,excel 使用 epplus 文件

发布时间: 2016/10/9 5:55:15
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

所以想要在这里做什么 im 是一个简单的 html 表写入兑换 xlsx (excel) 文件使用 epplus。代码的婚假,这远

控制器︰

public void saveToExcel(string tbl)
    {
        using (ExcelPackage p = new ExcelPackage())
        {
            p.Workbook.Worksheets.Add("demo");
            ExcelWorksheet ws = p.Workbook.Worksheets[1]; 


            ws.Name = "Demo";

            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;  filename=ExcelDemo.xlsx");
            Response.BinaryWrite(p.GetAsByteArray());
        }

    }

现在,这将创建一个空的工作簿。所有我想要做正确的事情现在是写这张桌子,我有我

视图︰

<Table id="tbl" name="tbl">
                <tr>
                    <td>
                        Title 1
                    </td>
                    <td >
                        Title 1
                    </td>
                    <td>
                        Title 1
                    </td>
                </tr>
                <tr>
                    <td >
                        Row 1
                    </td>
                    <td>
                        Row 1
                    </td>
                    <td>
                        Row 1
                    </td>
                </tr>
                <tr>
                    <td >
                        Row 2
                    </td>
                    <td>
                        Row 2
                    </td>
                    <td>
                        Row 2
                    </td>
                </tr>
                <tr>
                    <td >
                        Row 2
                    </td>
                    <td>
                        Row 2
                    </td>
                    <td>
                        Row 2
                    </td>
                </tr>
            </table>

        @Html.ActionLink("saveToExcel", "saveToExcel")

在工作簿中。但我只是不知道如何以及在何处开始。

感谢任何指针在正确的方向前进。

解决方法 1:

我想︰ 首先,你必须将你的 HTML 表格转换到.NET Datatable 这可以在这里找到转换表

接下来使用此代码 (考虑到您创建的数据表被称为数据:

        Dim attachment As String = "attachment; filename=MyExcelPage.xlsx"

        Dim epackage As ExcelPackage = New ExcelPackage
        Dim excel As ExcelWorksheet = epackage.Workbook.Worksheets.Add("ExcelTabName")
        excel.Cells("A1").LoadFromDataTable(data, True)

        HttpContext.Current.Response.Clear()
        HttpContext.Current.Response.ClearHeaders()
        HttpContext.Current.Response.ClearContent()
        HttpContext.Current.Response.AddHeader("content-disposition", attachment)
        HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"

        HttpContext.Current.Response.BinaryWrite(epackage.GetAsByteArray())

        HttpContext.Current.Response.End()
        epackage.Dispose()
赞助商