【问题标题】:how to export asp.net MVC detail view data to an excel file?如何将 asp.net MVC 详细视图数据导出到 Excel 文件?
【发布时间】:2010-04-21 10:49:53
【问题描述】:

如何将 ASP.NET MVC 视图数据导出到 excel 文件? 实际上我的视图页面包含许多视图数据类型。 我使用这些数据类型的每个循环在视图页面上显示数据。 我的要求是我想将此显示的数据导出到 Excel 文件中。我如何做到这一点?

谢谢

【问题讨论】:

标签: asp.net-mvc excel


【解决方案1】:

看看http://blogs.msdn.com/erikaehrli/archive/2009/01/30/how-to-export-data-to-excel-from-an-asp-net-application-avoid-the-file-format-differ-prompt.aspx

经过一些实验,我使用 Open XML SDK 2.0。目前,您可以在 http://msdn.microsoft.com/en-us/office/aa905545.aspxhttp://openxmldeveloper.org/ 上找到很多如何执行此操作的信息。另外一个链接http://extrememl.codeplex.com/ 也很有用。

第一次使用 Open XML SDK 2.0 比其他方式需要更多时间,但导出的文件是真正的 Excel 文件,不应该被用户转换。如果你对生成的excel文件的格式有更多的要求,你可以在那里实现。

【讨论】:

  • 感谢重播,但我的要求是:我需要显示(mvc)员工(查看页面),显示一个empdetails,在那个页面上我想要一个链接,即导出到excel。当我点击该链接我需要生成一个 empdetails 的 excel 文件,即显示在员工(查看页面)上
  • 我不认为,显示主/详细视图是一个问题。可以找到很多相应的例子。有很多不同的方法可以做到这一点,具体取决于您的要求。所以我只回答了你问题的“导出到excel”部分。您没有指定要以哪种形式显示信息。如果你想使用一些表格控件,我可以推荐 jqGrid trirand.com/blog/?page_id=6。您可以在trirand.com/blog/jqgrid/jqgrid.html 上找到相应的主/详细示例,选择左侧的“高级”,然后选择“主详细信息”。
【解决方案2】:

您可以遍历 ViewData 的键/值并生成 excel 文件(提到的各种选项Here)或简单地生成 CSV

但我建议在控制器中执行此操作并返回 FileResult 而不是从 ViewData(我假设您在 View 中使用)。

【讨论】:

  • 感谢重播,但我的要求是:我需要显示(mvc)员工(查看页面),显示一个empdetails,在那个页面上我想要一个链接,即导出到excel。当我点击该链接我需要生成一个 empdetails 的 excel 文件,即显示在员工(查看页面)上
【解决方案3】:

根据页面 HTML 的复杂性,您可能只需将标题类型更改为 application/excel 即可。 Excel 内置了 html 解析功能。几年前,我在页面上使用 DataGrid 成功完成了很多次。

Response.ContentType = "application/excel"
Response.AppendHeader "content-disposition", "attachment: filename=TestExcelFile.xls"

HTML in excel的一些细节

【讨论】:

  • 感谢重播,但我的要求是:我需要显示(mvc)员工(查看页面),显示一个empdetails,在那个页面上我想要一个链接,即导出到excel。当我点击该链接我需要生成一个 empdetails 的 excel 文件,即显示在员工(查看页面)上
猜你喜欢
  • 2011-11-29
  • 1970-01-01
  • 2012-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
相关资源
最近更新 更多