如何使用epplus将我的html表格写入excel文件

所以我试图在这里做什么是使用epplus写一个简单的HTML表格到一个xlsx(excel)文件。 代码是这么远的

控制器:

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()); } } 

现在这将创build一个空的工作簿。 而现在我想要做的就是把这张桌子写在我的桌子上

视图:

 <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") 

到工作簿。 但我只是不知道如何以及从哪里开始。

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

我猜:首先你必须把你的HTML表转换成一个.NET Datatable这可以在这里find转换表

接下来你使用这个代码(考虑你创build的数据表被称为'data':

  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()