我在ASP.Net项目中使用了MS Interop 2010 DLL来生成word和excel docuement。但是在部署服务器上,客户端有office 2003。
我担心MS Interop DLL 2010会与MS-Office 2003一起使用还是需要安装MS-Office 2010?
注意:在环境开发中,我安装了MSOffice 2010,MS Interop 2010运行良好。
提前致谢。
答案 0 :(得分:1)
无需安装相应的Office版本或互操作。在使用缺席成员之前,您可以使用旧版Office的最新互操作库。例如,Office 2010中引入了一种方法,您尝试在Office 2003中调用它。在这种情况下,您将在运行时获得异常。因此,我建议您在运行时检查Office版本,然后再调用新成员。
此外,Microsoft目前不推荐也不支持任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)的Microsoft Office应用程序自动化,因为Office可能在此环境中运行Office时,会出现不稳定的行为和/或死锁。
如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。请在Considerations for server-side Automation of Office文章中详细了解相关内容。
作为一种解决方法,您可以考虑使用Open XML SDK,有关详细信息,请参阅Welcome to the Open XML SDK 2.5 for Office。或者只使用为服务器端执行而设计的任何第三方组件。
答案 1 :(得分:0)
互操作必须符合办公室版本,因为它们只是一种访问办公功能的界面。因此,您需要安装正确的MS Office版本,该版本应自动安装互操作。