如何将asp.net MVC详细视图数据导出到excel文件?

时间:2010-04-21 10:49:53

标签: asp.net-mvc excel

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

由于

3 个答案:

答案 0 :(得分: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文件的格式有更多要求,那么您将能够在那里实现。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

HTML in excel

的一些细节