这个问题不是关于恰好有Windows服务器操作系统的计算机上使用Excel的人。 这不是关于使用任何Sharepoint服务function!
问题是关于使用代码(Office自动化)来打开Excel文件,操作它们,运行计算,读取数据,保存文件的副本并closures文件…的所有代码的自动化过程。
在以前的Excel版本中,许可协议禁止在公共服务器上使用,Microsoft的注意事项警告在服务器环境中尝试使用Office Automation的问题,并且我们被警告说Excel是单线程的,不适用于服务器。
大多数关于此的文章都是在Office 2010之前编写的。
但是现在,Excel 2010被devise为在使用HPC Services for Excel的高性能计算服务器上工作。 一个HPC文档提到“Windows HPC Server 2008 R2包含一个全面的popup式pipe理器,可以处理偶尔的对话框和popup消息”。
所以我的问题是…是否现在“安全”运行代码,在不使用HPC服务的情况下在“普通”服务器上自动运行Excel 2010?
否则,HPC Services for Excel可以在单个服务器上工作吗?
我不需要高性能,分布式计算,HPC Services for Excel的方面……只是在服务器上运行Excel的能力。
现在可以做了吗?
谢谢,格伦
你的问题归结为“我可以安全地使用Excel自动化API吗?” 与服务器细节没有多大关系。 当然,Excel可以在Windows Server平台上运行,甚至在terminal服务器环境中也是相当普遍的情况,但是通常它是由各自的用户交互运行的。 以这种方式运行它一直是安全的(即老版本也被放在terminal服务器上)。
也就是说,2010年7月2日上次修订的KB257757和明确列出“Microsoft Excel 2010”的“适用于”部分指出:
Microsoft目前不推荐并不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或在此环境中运行Office时发生死锁。
特别是在许可问题上:
当前的许可准则禁止在服务器上使用Office应用程序来为客户端请求提供服务,除非这些客户端本身拥有Office的许可副本。
并以此粗暴地结束:
Microsoft强烈build议大量替代scheme不要求在服务器端安装Office,并且可以比自动化更高效地执行最常见的任务。 在将Office作为服务器端组件引入到项目之前,请考虑其他select。
我相信你不能有比这更明确的陈述。