从MVC返回Excel文件

时间:2012-10-20 06:06:58

标签: asp.net-mvc-3 excel model-view-controller interop

  1. 如果我选择使用Interop,是否需要在服务器端安装Excel?
  2. 为什么不使用Interop还有其他原因吗?
  3. 我应该选择System.Web.UI.WebControls.GridView服务器端解决方案,填充它并将其写入结果吗?
  4. 保留MVC逻辑和功能的任何其他智能解决方案?

1 个答案:

答案 0 :(得分:1)

是的,使用interop将需要在服务器端安装Excel,并且在服务器上运行Excel是个坏主意。根据微软本身:http://support.microsoft.com/kb/257757

  

Microsoft目前不推荐,也不支持,   任何无人值守的Microsoft Office应用程序的自动化,   非交互式客户端应用程序或组件(包括ASP,   ASP.NET,DCOM和NT服务),因为Office可能会出现不稳定   Office在此环境中运行时的行为和/或死锁。

但是,您可以在不使用Excel互操作的情况下在服务器端创建Excel工作簿。对此的一个解决方案是使用OpenXML SDK(免费),它将以与互操作非常不同的方式创建Excel文件。还有一些开源项目和商业解决方案允许您这样做。在StackOverflow上搜索“创建Excel文件服务器”将为您提供更多选项。