【问题标题】:Return Excel file as result from MVC从 MVC 返回 Excel 文件作为结果
【发布时间】:2012-10-20 06:06:57
【问题描述】:
  1. 如果我选择使用 Interop,是否需要在服务器端安装 Excel?
  2. 还有其他不使用 Interop 的理由吗?
  3. 我应该选择System.Web.UI.WebControls.GridView 服务器端解决方案,填充它并将其写入结果吗?
  4. 任何其他保留 MVC 逻辑和功能的智能解决方案?

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,将尝试使用此 SDK :)
    猜你喜欢
    • 2021-04-22
    • 2013-02-13
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多