Posso executar o Excel 2010 em um servidor?

9

Esta pergunta não é sobre uma pessoa que usa o Excel em um computador que possui um sistema operacional Windows Server. E não se trata de usar nenhum recurso de serviço do Sharepoint!

A pergunta é sobre processos automatizados que usam código (Office Automation) para abrir arquivos do Excel, manipulá-los, executar cálculos, ler dados, salvar cópias do arquivo e fechar os arquivos ... tudo em código.

Nas versões anteriores do Excel, o contrato de licenciamento impedia o uso em um servidor público, as notas da Microsoft avisavam sobre os problemas ao tentar usar o Office Automation em um ambiente de servidor, e fomos avisados ​​de que o Excel era de thread único e não foi projetado para uso em um servidor.

A maioria dos artigos sobre isso foi escrita antes do Office 2010.

Mas agora, o Excel 2010 foi projetado para funcionar em um servidor de computação de alto desempenho usando o HPC Services for Excel. Um documento HPC menciona "O Windows HPC Server 2008 R2 inclui um gerenciador pop-up abrangente que pode lidar com caixas de diálogo ocasionais e mensagens pop-up".

Portanto, minha pergunta é ... agora é "seguro" executar código que automatiza o Excel 2010 em um servidor "normal" sem usar os serviços HPC?

Caso contrário, os Serviços HPC para Excel podem funcionar em um único servidor?

Não preciso do aspecto de alto desempenho e computação distribuída do HPC Services for Excel ... apenas da capacidade de executar o Excel em um servidor.

Isso pode ser feito agora?

Obrigado Glen

Glen Little
fonte
Pode sim. Não deveria!
uSlackr

Respostas:

13

Sua pergunta se resume a "posso usar APIs de automação do Excel com segurança?" e tem pouco a ver com detalhes do servidor. Obviamente, o Excel é executado nas plataformas Windows Server e ainda é um cenário bastante comum nos ambientes do Terminal Server, mas geralmente é executado de forma interativa pelos respectivos usuários. Sempre foi seguro executá-lo dessa maneira (ou seja, versões mais antigas também foram colocadas nos Servidores de Terminal).

Dito isto, o KB257757 , que foi revisado pela última vez em 2 de julho de 2010 e com a seção "aplica-se a", listando explicitamente o "Microsoft Excel 2010" , declara:

No momento, a Microsoft não recomenda e não oferece suporte a aplicativos de automação do Microsoft Office de qualquer aplicativo ou componente cliente não interativo e autônomo (incluindo serviços ASP, ASP.NET, DCOM e NT), porque o Office pode exibir um comportamento instável e / ou impasse quando o Office é executado nesse ambiente.

especificamente sobre a questão do licenciamento:

As diretrizes de licenciamento atuais impedem que os aplicativos do Office sejam usados ​​em um servidor para atender a solicitações de clientes, a menos que eles mesmos tenham cópias licenciadas do Office.

e conclui com isso em negrito:

A Microsoft recomenda várias alternativas que não exigem a instalação do Office no lado do servidor e que podem executar as tarefas mais comuns com mais eficiência e rapidez do que a automação. Antes de envolver o Office como um componente do servidor em seu projeto, considere alternativas.

Eu acredito que você não pode ter uma afirmação mais definida do que isso.

o wabbit
fonte
Obrigado pelos comentários ... mas isso ainda ignora a existência do HPC Services for Excel. Com os Serviços HPC, a Microsoft recomenda especificamente o uso do Excel como um componente do servidor.
Glen Little
Os serviços HPC não são "Automação" (que seria OLE Automation genérica ), mas consistem em interfaces restritas bastante específicas com um uso limitado para distribuir a carga de cálculo.
the-wabbit 31/03
Para um exemplo de automatizar o Excel a partir de .NET no servidor usando HPC, consulte este microsoft.com/download/en/...
Glen Little