【发布时间】:2010-04-21 10:49:53
【问题描述】:
如何将 ASP.NET MVC 视图数据导出到 excel 文件? 实际上我的视图页面包含许多视图数据类型。 我使用这些数据类型的每个循环在视图页面上显示数据。 我的要求是我想将此显示的数据导出到 Excel 文件中。我如何做到这一点?
谢谢
【问题讨论】:
标签: asp.net-mvc excel
如何将 ASP.NET MVC 视图数据导出到 excel 文件? 实际上我的视图页面包含许多视图数据类型。 我使用这些数据类型的每个循环在视图页面上显示数据。 我的要求是我想将此显示的数据导出到 Excel 文件中。我如何做到这一点?
谢谢
【问题讨论】:
标签: asp.net-mvc excel
经过一些实验,我使用 Open XML SDK 2.0。目前,您可以在 http://msdn.microsoft.com/en-us/office/aa905545.aspx 和 http://openxmldeveloper.org/ 上找到很多如何执行此操作的信息。另外一个链接http://extrememl.codeplex.com/ 也很有用。
第一次使用 Open XML SDK 2.0 比其他方式需要更多时间,但导出的文件是真正的 Excel 文件,不应该被用户转换。如果你对生成的excel文件的格式有更多的要求,你可以在那里实现。
【讨论】:
您可以遍历 ViewData 的键/值并生成 excel 文件(提到的各种选项Here)或简单地生成 CSV
但我建议在控制器中执行此操作并返回 FileResult 而不是从 ViewData(我假设您在 View 中使用)。
【讨论】:
根据页面 HTML 的复杂性,您可能只需将标题类型更改为 application/excel 即可。 Excel 内置了 html 解析功能。几年前,我在页面上使用 DataGrid 成功完成了很多次。
Response.ContentType = "application/excel"
Response.AppendHeader "content-disposition", "attachment: filename=TestExcelFile.xls"
HTML in excel的一些细节
【讨论】: