¿Puedo ejecutar Excel 2010 en un servidor?

9

Esta pregunta no se trata de una persona que usa Excel en una computadora que tiene un sistema operativo Windows Server. ¡Y no se trata de utilizar las funciones de los servicios de Sharepoint!

La pregunta es sobre procesos automatizados que usan código (Office Automation) para abrir archivos de Excel, manipularlos, ejecutar cálculos, leer datos, guardar copias del archivo y cerrar los archivos ... todo en código.

En versiones anteriores de Excel, el acuerdo de licencia impedía su uso en un servidor público, las notas de Microsoft advirtieron sobre los problemas al tratar de usar Office Automation en un entorno de servidor, y se nos advirtió que Excel era de un solo subproceso y no estaba diseñado para usarse en un servidor.

La mayoría de los artículos sobre esto fueron escritos antes de Office 2010.

Pero ahora, Excel 2010 está diseñado para funcionar en un servidor de computación de alto rendimiento utilizando los servicios HPC para Excel. Un documento de HPC menciona que "Windows HPC Server 2008 R2 incluye un administrador emergente integral que puede manejar cuadros de diálogo y mensajes emergentes ocasionales".

Entonces mi pregunta es ... ¿es ahora "seguro" ejecutar código que automatice Excel 2010 en un servidor "normal" sin usar los servicios de HPC?

Si no, ¿pueden los Servicios de HPC para Excel funcionar en un solo servidor?

No necesito el alto rendimiento, la informática distribuida, el aspecto de los Servicios de HPC para Excel ... solo la capacidad de ejecutar Excel en un servidor.

¿Se puede hacer eso ahora?

Gracias Glen

Glen Little
fuente
Puede, si. ¡Debería no!
uSlackr

Respuestas:

13

Su pregunta se reduce a "¿puedo usar API de automatización de Excel de forma segura?" y tiene poco que ver con los detalles del servidor. Por supuesto, Excel se ejecuta en plataformas de Windows Server e incluso es un escenario bastante común en entornos de Terminal Server, pero generalmente se ejecuta de forma interactiva por los usuarios respectivos. Siempre ha sido seguro ejecutarlo de esta manera (es decir, las versiones anteriores también se pusieron en los servidores de Terminal Server).

Dicho esto, KB257757 , que se revisó por última vez el 2 de julio de 2010 y con la sección "se aplica a" que enumera explícitamente "Microsoft Excel 2010" , establece:

Microsoft actualmente no recomienda, y no admite, la automatización de las aplicaciones de Microsoft Office desde cualquier aplicación o componente de cliente no interactivo y desatendido (incluidos los servicios ASP, ASP.NET, DCOM y NT), porque Office puede exhibir un comportamiento inestable y / o punto muerto cuando Office se ejecuta en este entorno.

específicamente en el tema de la licencia:

Las pautas de licencia actuales evitan que las aplicaciones de Office se utilicen en un servidor para atender las solicitudes de los clientes, a menos que esos clientes tengan copias autorizadas de Office.

y concluye con esto en negrita:

Microsoft recomienda enfáticamente una serie de alternativas que no requieren que Office se instale en el lado del servidor, y que puedan realizar las tareas más comunes de manera más eficiente y más rápida que la automatización. Antes de involucrar a Office como un componente del lado del servidor en su proyecto, considere alternativas.

Creo que no puedes tener una declaración más definida que esta.

el wabbit
fuente
Gracias por los comentarios ... pero esto aún ignora la existencia de Servicios HPC para Excel. Con los Servicios HPC, Microsoft recomienda específicamente el uso de Excel como un componente del lado del servidor.
Glen Little
Los servicios de HPC no son "Automatización" (que sería una Automatización OLE genérica ) sino que consisten en interfaces específicas más bien restringidas con un uso limitado para distribuir la carga de cálculo.
the-wabbit
Para ver un ejemplo de automatización de Excel desde .NET en el servidor utilizando HPC, consulte microsoft.com/download/en/…
Glen Little,