我可以在服务器上运行Excel 2010吗?


9

此问题与某人碰巧拥有Windows Server OS的计算机上使用Excel无关。这与使用任何Sharepoint服务功能无关!

问题是有关使用代码(Office Automation)打开Excel文件,操纵它们,运行计算,读取数据,保存文件副本并关闭文件...的自动化过程……全部以代码形式进行。

在早期版本的Excel中,许可协议禁止在公用服务器上使用,Microsoft的注释警告了试图在服务器环境中使用Office Automation的问题,并且我们还警告说Excel是单线程的,并且不适合在服务器上使用。

有关此的大多数文章是在Office 2010之前编写的。

但是现在,Excel 2010旨在使用HPC Services for Excel在高性能计算服务器上工作。一份HPC文档提到“ Windows HPC Server 2008 R2包括一个全面的弹出式管理器,可以处理偶尔出现的对话框和弹出消息”。

因此,我的问题是...现在,在使用HPC服务的情况下,在“常规”服务器上运行自动执行Excel 2010的代码是否“安全” ?

如果不是,那么HPC Services for Excel是否可以在单个服务器上工作?

我不需要高性能,分布式计算,HPC Services for Excel方面的功能……只需要能够在服务器上运行Excel。

现在可以做到吗?

谢谢,格伦


可以,可以。应该,不!
uSlackr 2012年

Answers:


13

您的问题可以归结为“我可以安全地使用Excel自动化API吗?” 与服务器的具体情况无关。当然,Excel 确实可以在Windows Server平台运行,甚至在终端服务器环境中也很常见,但是通常它是由各个用户以交互方式运行的。始终以这种方式运行它是安全的(即,将旧版本也放置在终端服务器上)。

就是说,KB257757(最近一次修订于2010年7月2日,并且“适用于”部分明确列出了“ Microsoft Excel 2010”)指出:

Microsoft当前不建议也不支持从任何无人参与的非交互客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT Services)对Microsoft Office应用程序进行自动化,因为Office可能表现出不稳定的行为和/在此环境中运行Office时出现死锁或死锁。

特别是在许可问题上:

当前的许可准则禁止在服务器上使用Office应用程序来满足客户端请求,除非这些客户端本身具有Office的许可副本。

并以粗体显示此结论:

Microsoft强烈推荐许多替代方法,这些替代方法不需要在服务器端安装Office,并且比Automation可以更有效,更快地执行大多数常见任务。在将Office用作项目中的服务器端组件之前,请考虑替代方法。

我相信您的陈述不能比这更明确。


感谢您的评论……但这仍然忽略了HPC Services for Excel的存在。对于HPC服务,Microsoft特别建议不要将Excel用作服务器端组件。
Glen Little

HPC服务不是“自动化”(将是通用的OLE Automation),而是由特定的缩小接口组成,有限地用于分配计算负载。
the-wabbit 2012年

有关使用HPC在服务器上从.NET自动执行Excel的示例,请参阅此microsoft.com/download/en/…–
Glen Little
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.