2010-06-07 5 views
6

Ich habe eine Webanwendung, die in Windows Azure bereitgestellt wird, und ich suche nach Alternativen zum Generieren von Excel-Tabellen.Läuft VSTO unter Windows Azure?

Kann ich mithilfe von VSTO eine Excel-Tabelle in einer Webrolle generieren, die unter Windows Azure ausgeführt wird? ... Wenn ja, wie sollte ich die Anwendung in Windows Azure bereitstellen? Welche Assemblys sollte ich aufnehmen?

+0

+1. Große Frage. –

+2

Ist das nicht dasselbe wie das Ausführen von Office auf einem Server, was nicht empfohlen wird? – Mathias

Antwort

2

Ich habe dies getestet und es wird anscheinend nicht funktionieren, VSTO erfordert Office installiert werden.

4

Joni und Joe haben Recht. VSTO wird nicht auf Azure ausgeführt.

Ich glaube, Sie suchen nach der Open XML SDK. Damit können Sie Excel- oder andere Office-Dateien von .NET erstellen, ohne Office-Automatisierung zu verwenden.

Bearbeiten: Hier ist eine Option, die ich für die Zeiten in Betracht gezogen habe, in denen das Open XML SDK nicht die Funktionalität bietet, die ich beim direkten Zugriff auf das Objektmodell einer Office-Anwendung bekomme. Richten Sie eine Maschine außerhalb von Azure ein, die genau wie eine Azure-Worker-Rolle funktioniert, indem Sie Nachrichten von einer Azure-Warteschlange verarbeiten. Da die App auf diesem Computer so eingerichtet werden kann, dass Aufgaben nacheinander ausgeführt werden, sollten Sie in der Lage sein, mit Dingen fertig zu werden, die nicht ratsam wären, wenn Sie versuchen, eine Office-Anwendung über eine Webrolle auszuführen. Dieser Computer befindet sich möglicherweise in Ihrem Rechenzentrum oder Sie können eine Azure-VM verwenden, um Office zu installieren. Wenn diese VM Excel-Dokumente erstellt und/oder gelesen hat, verwenden Sie den Azure Blob-Speicher, um die Dokumente zu speichern.

Wenn der Computer mit Office außerhalb von Azure installiert ist, entstehen zusätzliche Bandbreitenkosten für alle eingehenden und ausgehenden Daten von Azure.

2

Ich war erfolgreich mit der Generierung Excel-Tabellen in Azure mit EPPlus open source Projekt. Es baut auf dem Open XML SDK auf, ist aber viel einfacher zu verwenden.

Ich habe den Code zu Worker Role statt Webrolle (gemäß Lokad.CQRS for Azure Architektur) bereitgestellt, um Berichte vorzugenerieren, so dass die Anwendung besser skalierbar wäre. Und die einzige erforderliche Baugruppe war die Epplus.dll.