Kann ich Excel 2010 auf einem Server ausführen?

9

Diese Frage bezieht sich nicht auf eine Person, die Excel auf einem Computer mit einem Windows Server-Betriebssystem verwendet. Und es geht nicht darum, Sharepoint-Servicefunktionen zu verwenden!

Die Frage betrifft automatisierte Prozesse, die Code (Office Automation) verwenden, um Excel-Dateien zu öffnen, zu bearbeiten, Berechnungen auszuführen, Daten zu lesen, Kopien der Datei zu speichern und die Dateien zu schließen ... alles in Code.

In früheren Versionen von Excel verhinderte die Lizenzvereinbarung die Verwendung auf einem öffentlichen Server, Hinweise von Microsoft warnten vor den Problemen beim Versuch, Office Automation in einer Serverumgebung zu verwenden, und wir wurden gewarnt, dass Excel Single-Threaded war und nicht für die Verwendung auf einem Server konzipiert war.

Die meisten Artikel dazu wurden vor Office 2010 verfasst.

Jetzt ist Excel 2010 so konzipiert, dass es mit HPC Services for Excel auf einem High Performance Computing-Server funktioniert. In einem HPC-Dokument wird erwähnt, dass "Windows HPC Server 2008 R2 einen umfassenden Popup-Manager enthält, der gelegentliche Dialogfelder und Popup-Meldungen verarbeiten kann".

Meine Frage ist also ... ist es jetzt "sicher", Code auszuführen, der Excel 2010 auf einem "normalen" Server automatisiert, ohne die HPC-Dienste zu verwenden?

Wenn nicht, können die HPC Services für Excel auf einem einzelnen Server ausgeführt werden?

Ich brauche nicht den leistungsstarken, verteilten Computeraspekt von HPC Services für Excel ... nur die Fähigkeit, Excel auf einem Server auszuführen.

Kann das jetzt gemacht werden?

Danke, Glen

Glen Little
quelle
Kann ja. Sollte, nein!
uSlackr

Antworten:

13

Ihre Frage lautet: "Kann ich Excel-Automatisierungs-APIs sicher verwenden?" und hat wenig mit Serverspezifikationen zu tun. Natürlich Excel ist Plattformen läuft auf Windows Server und es ist sogar ein recht häufiges Szenario in Terminal - Server - Umgebungen, aber in der Regel ist es interaktiv durch den jeweiligen Benutzer ausgeführt werden . Es war immer sicher, es auf diese Weise auszuführen (dh ältere Versionen wurden auch auf Terminalservern installiert).

Davon abgesehen heißt es in KB257757, das zuletzt am 2. Juli 2010 überarbeitet wurde und im Abschnitt "gilt für" explizit "Microsoft Excel 2010" auflistet :

Microsoft empfiehlt und unterstützt derzeit keine Automatisierung von Microsoft Office-Anwendungen aus unbeaufsichtigten, nicht interaktiven Clientanwendungen oder -komponenten (einschließlich ASP-, ASP.NET-, DCOM- und NT-Diensten), da Office möglicherweise instabiles Verhalten und / oder instabiles Verhalten aufweist oder Deadlock, wenn Office in dieser Umgebung ausgeführt wird.

speziell zum Thema Lizenzierung:

Aktuelle Lizenzierungsrichtlinien verhindern, dass Office-Anwendungen auf einem Server zum Bearbeiten von Clientanforderungen verwendet werden, es sei denn, diese Clients verfügen selbst über lizenzierte Kopien von Office.

und schließt mit fettem Gesicht:

Microsoft empfiehlt dringend eine Reihe von Alternativen, bei denen Office nicht serverseitig installiert werden muss und die die häufigsten Aufgaben effizienter und schneller als die Automatisierung ausführen können. Bevor Sie Office als serverseitige Komponente in Ihr Projekt einbeziehen, sollten Sie Alternativen in Betracht ziehen.

Ich glaube, Sie können keine genauere Aussage treffen.

the-wabbit
quelle
Vielen Dank für die Kommentare ... aber dies ignoriert immer noch die Existenz von HPC Services für Excel. Bei HPC Services empfiehlt Microsoft ausdrücklich die Verwendung von Excel als serverseitige Komponente.
Glen Little
HPC-Dienste sind keine "Automatisierung" (was generische OLE-Automatisierung wäre ), sondern bestehen aus eher spezifischen, eingeschränkten Schnittstellen mit einer begrenzten Verwendung für die Verteilung der Berechnungslast.
The-Wabbit
Ein Beispiel für die Automatisierung von Excel aus .NET auf dem Server mithilfe von HPC finden Sie unter microsoft.com/download/en/…
Glen Little