Puis-je exécuter Excel 2010 sur un serveur?

9

Cette question ne concerne pas une personne utilisant Excel sur un ordinateur doté d'un système d'exploitation Windows Server. Et il ne s'agit pas d'utiliser des fonctionnalités des services Sharepoint!

La question concerne les processus automatisés qui utilisent du code (Office Automation) pour ouvrir des fichiers Excel, les manipuler, exécuter des calculs, lire des données, enregistrer des copies du fichier et fermer les fichiers ... tout en code.

Dans les versions précédentes d'Excel, l'accord de licence empêchait l'utilisation sur un serveur public, des notes de Microsoft ont mis en garde contre les problèmes d'utilisation d'Office Automation dans un environnement de serveur, et nous avons été avertis qu'Excel était monothread et non conçu pour être utilisé sur un serveur.

La plupart des articles à ce sujet ont été écrits avant Office 2010.

Mais maintenant, Excel 2010 est conçu pour fonctionner sur un serveur de calcul haute performance utilisant les services HPC pour Excel. Un document HPC mentionne "Windows HPC Server 2008 R2 comprend un gestionnaire de fenêtres contextuelles complet qui peut gérer des boîtes de dialogue et des messages contextuels occasionnels".

Ma question est donc ... est-il désormais "sûr" d'exécuter du code qui automatise Excel 2010 sur un serveur "normal" sans utiliser les services HPC?

Sinon, les services HPC pour Excel peuvent-ils fonctionner sur un seul serveur?

Je n'ai pas besoin des hautes performances, de l'informatique distribuée, de l'aspect des services HPC pour Excel ... juste de la possibilité d'exécuter Excel sur un serveur.

Cela peut-il être fait maintenant?

Merci, Glen

Glen Little
la source
Peut, oui. Devrait, non!
uSlackr

Réponses:

13

Votre question se résume à "puis-je utiliser les API d'automatisation Excel en toute sécurité?" et a peu à voir avec les spécificités du serveur. Bien sûr, Excel ne fonctionne sur les plates - formes Windows Server et même un scénario assez commun dans les environnements Terminal Server, mais généralement il est exécuté de manière interactive par les utilisateurs respectifs. Il a toujours été sûr de l'exécuter de cette façon (c'est-à-dire que les anciennes versions ont également été placées sur les serveurs Terminal Server).

Cela étant dit, KB257757, qui a été révisé pour la dernière fois le 2 juillet 2010 et avec la section "s'applique à" répertoriant explicitement "Microsoft Excel 2010" , déclare:

Microsoft ne recommande pas actuellement et ne prend pas en charge l'automatisation des applications Microsoft Office à partir de toute application ou composant client sans assistance et non interactif (y compris les services ASP, ASP.NET, DCOM et NT), car Office peut présenter un comportement instable et / ou blocage lorsque Office est exécuté dans cet environnement.

spécifiquement sur la question des licences:

Les directives de licence actuelles empêchent les applications Office d'être utilisées sur un serveur pour répondre aux demandes des clients, à moins que ces clients eux-mêmes ne disposent de copies sous licence d'Office.

et conclut en gras:

Microsoft recommande vivement un certain nombre d'alternatives qui ne nécessitent pas l'installation d'Office côté serveur et qui peuvent effectuer les tâches les plus courantes plus efficacement et plus rapidement que Automation. Avant d'impliquer Office en tant que composant côté serveur dans votre projet, envisagez des alternatives.

Je crois que vous ne pouvez pas avoir une déclaration plus précise que celle-ci.

le-wabbit
la source
Merci pour les commentaires ... mais cela ignore toujours l'existence des services HPC pour Excel. Avec les services HPC, Microsoft recommande spécifiquement l'utilisation d'Excel en tant que composant côté serveur.
Glen Little
Les services HPC ne sont pas "Automation" (qui seraient des OLE Automation génériques ) mais consistent en des interfaces rétrécies plutôt spécifiques avec une utilisation limitée pour distribuer la charge de calcul.
the-wabbit
Pour un exemple d'automatisation d'Excel à partir de .NET sur le serveur à l'aide de HPC, consultez ce microsoft.com/download/en/…
Glen Little