Vergleich VSTO mit Aspose.Cells for .NET

Überblick

Microsoft Excel wird häufig von Unternehmen und Einzelpersonen in allen Branchen verwendet. Die Tabellenkalkulationsanwendung ist nahezu allgegenwärtig und ermöglicht Benutzern nicht nur das Speichern und Organisieren von Daten, sondern auch das Erstellen komplexer Modelle mit Formeln und die übersichtliche Darstellung von Daten mit erweiterter Formatierung und Diagrammen.

VSTO ermöglicht Microsoft Office-Dokumenten das Ausführen von Code, der in eine .NET-Assembly eingeschlossen ist. Es wird verwendet, um Anwendungen zu entwickeln, die mit Microsoft Office-Dateien und -Features arbeiten. Entwickler verwenden seit Jahren ASP, Office-Webkomponenten und COM-Interop in Anwendungen. Microsoft hat VSTO erweitert, um die Entwicklung und Bereitstellung von Anwendungen zu vereinfachen und die Speicherverwaltung zu verbessern. Die Frage bleibt jedoch: Ist VSTO so konzipiert, dass es einfacher zu verwenden und zuverlässiger ist als andere heute verfügbare Ansätze? Entwickler möchten mit Lösungen arbeiten, die sie in Bezug auf verbesserte Leistung, Sicherheit, Skalierbarkeit, Stabilität, Zuverlässigkeit oder Funktionen nicht im Stich lassen.

Asposebietet eine große Auswahl an .NET-, Java-, Cloud- und Android-APIs. Aspose-APIs umfassen Produkte wie Aspose.Cells, Aspose.Words, Aspose.Pdf und Aspose.Slides, APIs, die helfen[Entwickler öffnen, modifizieren, generieren, speichern, führen zusammen und konvertieren Dokumente in verschiedenen Formaten, einschließlich XLS, XLSX, DOC, DOCX, HTML, PDF, PPT.

In diesem Artikel vergleichen wir VSTO mit Aspose.Cells for .NET.

[Aspose.Cells]](https://products.aspose.com/cells/net/) ist eine unabhängige Microsoft Excel-Tabellenbearbeitung, die API Excel-Tabellen liest und schreibt, ohne dass Microsoft Excel auf der Client- oder Serverseite installiert ist. Aspose.Cells ist eine funktionsreiche Komponente und bietet viel mehr als nur den einfachen Datenexport. Mit Aspose.Cells können Entwickler Daten exportieren, Tabellenkalkulationen formatieren, Bilder importieren, Diagramme erstellen und bearbeiten, Excel-Daten streamen und in verschiedenen Formaten speichern. Um mehr über das Produkt und seine Funktionen zu erfahren:

In diesem Artikel werden VSTO und Aspose.Cells in Bezug auf verschiedene Aspekte im Zusammenhang mit Microsoft Excel verglichen. Die Liste ist nicht vollständig, stellt jedoch einige Aspekte dar, die Entscheidungsträger verstehen müssen, bevor sie eine endgültige Entscheidung treffen, bevor sie einen Ansatz verfolgen.

.NET Rahmenvoraussetzung

VSTO erfordert das .NET-Framework (einschließlich Visual Studio-Tools für die Office SE-Laufzeit) auf der Clientseite, um die endgültige Anwendung auszuführen. In den meisten Unternehmensumgebungen, insbesondere in Webszenarien, können Endbenutzer keine Anwendungssoftware und die zugehörigen Laufzeitframeworks installieren. Allein diese Anforderung macht VSTO-basierte Anwendungen problematisch. Standardanwendungen auf Basis von VSTO werden damit praktisch ausgeschlossen.

Im Gegensatz dazu fordert Aspose.Cells for .NET nicht unbedingt das .NET Framework auf der Client-Seite für das zugrunde liegende Szenario. Die mit der Komponente erstellten Office-Anwendungen sind leichtgewichtig und funktionieren garantiert auf Microsoft Windows-Systemen unter erheblicher Last.

Merkmale

Die von VSTO bereitgestellten Features hängen davon ab, welche Kombination aus VSTO- und Visual Studio-Produkten Sie installiert haben. Zu den allgemeinen Aufgaben, die von VSTO für Microsoft Office Excel 2003 ausgeführt werden, gehören das Hinzufügen von Daten zu Cells, das Erstellen, Öffnen und Speichern von Arbeitsmappen, das Hinzufügen, Verschieben und Ausblenden von Arbeitsblättern, das Schützen von Arbeitsblättern, benannte Bereiche, Listenobjekte, Stilformatierungen, Suchen von Text in Zellen, Sortieren von Daten, Drucken und Excel-Formelberechnungen.

Aspose.Cells bietet alles Notwendige zum Verwalten von Microsoft Office Excel-Dateien und vieles mehr. Die API liefert Entwicklern mit geringstem Aufwand großartige Ergebnisse. Aspose.Cells bietet viele leistungsstarke, zeitsparende Funktionen. API bietet benutzerfreundliche APIs für alle Arten von Tabellenkalkulationsaktivitäten und deckt fast alle Funktionen von Microsoft Excel ab. Alle für VSTO aufgeführten Aufgaben können problemlos von Aspose.Cells durchgeführt werden.

Aspose.Cells unterstützt auch mehrere erweiterte Funktionen, einschließlich Unterstützung für Smart Marker, Importieren und Exportieren von Daten in und aus einer Reihe von Datenquellen, Objekten und Excel-Dateien, Unterstützung für COM-Clients (ASP-Client) Interoperabilität mit der Komponente, Konvertieren von Excel-Dateien in das PDF-Format , Speichern von Excel-Diagrammen und Arbeitsblättern als Bilddateien.

Sicherheit

Standardmäßig erfordern VSTO-Anwendungen für die Ausführung Berechtigungen mit voller Vertrauenswürdigkeit, da sie keine teilweise vertrauenswürdigen Aufrufer zulassen. Um eine Webanwendung zu sperren und eine zusätzliche Ebene der Anwendungsisolation in einer gehosteten Umgebung bereitzustellen, können Sie die Codezugriffssicherheit verwenden, um die Ressourcen einzuschränken, auf die die Anwendung zugreifen kann, und die privilegierten Vorgänge, die sie ausführen kann. Aber Sie müssen etwas Zeit und Mühe investieren, um die .NET-Sicherheit zu verstehen.

Internetdienstanbieter (ISPs), die mehrere Anwendungen von vielen verschiedenen Unternehmen hosten, verwenden häufig die mittlere Vertrauensstufe, um sicherzustellen, dass Anwendungen die Daten der anderen nicht lesen oder sich gegenseitig stören können. Aus Sicherheitsgründen können die ISPs einzelne Webanwendungen auf gemeinsam genutzten Servern auf Partial Trust beschränken.

Aspose.Cells for .NET kann unter der Sicherheitsstufe Medium Trust ausgeführt werden. Zum Ausführen der Assembly in einer gehosteten Umgebung sind keine besonderen Berechtigungen erforderlich. Mittleres Vertrauen schränkt die Arten von gemeinsam genutzten Systemressourcen ein, auf die die Anwendungen zugreifen können. Viele Webanwendungen werden auf Webhosting-Servern ausgeführt. Im Webhosting-Modus können die meisten von ihnen nur unter der Sicherheitsstufe Medium Trust ausgeführt werden. Aspose.Cells for .NET können ihr Bedürfnis diesbezüglich sehr gut bedienen.

Leistung

Leistung ist der wichtigste Faktor bei der Auswahl eines Ansatzes oder einer Methode zum Erstellen einer Lösung.

Die Leistung einer VSTO-Anwendung greift laut einigen Benutzerberichten auf VBA- und COM-Ansätze zurück. Es gibt mehrere Faktoren, die die VSTO-Leistung beeinflussen, und es ist wichtig, diese Faktoren ins rechte Licht zu rücken.

  • Die Anlaufkosten von .NET sind von Natur aus teuer. Anwendungen, die mit .NET geschrieben wurden, müssen den Overhead der Just-In-Time-Kompilierung (JIT) verursachen, sodass die JIT-Kompilierung nicht vermieden werden kann.
  • Ein weiterer Leistungsfaktor, der VSTO-basierte Anwendungen beeinflusst, hat mit den Kosten für den Aufruf durch die dicken Schichten der Automatisierungshaut zu tun, die die Microsoft-Office-COM-Objekte umschließen. VBA, das für die Interaktion mit Microsoft Office entwickelt und optimiert wurde, hat eine kürzere Entfernung als .NET.
  • Schließlich ist das Hosten von Excel-Objekten in der Visual Studio-IDE ressourcenintensiv. VSTO-Anwendungen haben einen größeren Speicherbedarf als VBA-Anwendungen. VSTO-Excel-Anwendungen verwenden viel Arbeitsspeicher und geben ihn erst wieder an das Betriebssystem frei, wenn alle Instanzen von Microsoft Excel geschlossen sind.

Wenn Sie erwägen, VSTO als Entwicklungsplattform für Microsoft Office-Technologie einzusetzen, sollten Sie sich etwas Zeit nehmen, um sich mit diesen Attributen vertraut zu machen.

Darüber hinaus ist die Auswirkung auf die Leistung, dass immer nach Updates gesucht wird, möglicherweise nicht für die Lösung geeignet (langsamere Bereitstellungsserver, langsamere Netzwerkverbindungen oder einfach die häufige Nichterreichbarkeit des Servers können sich negativ auf die Ladezeiten auswirken).

Im Gegensatz dazu ist Aspose.Cells for .NET hoch skalierbar, flexibel und schnell. Im Allgemeinen wurden Office-Anwendungen nicht dafür entwickelt, von 100 bis 1000 Benutzern gleichzeitig verwendet zu werden; Aspose.Cells ist jedoch. Der API ist stabil und kann Tabellenkalkulationsaufgaben fehlerfrei ausführen, egal ob auf einem einzelnen Server, der eine einzelne Anwendung betreibt, oder auf einer Webfarm mit Lastenausgleich, die eine unternehmensweite Anwendung betreibt.

System Anforderungen

Bei der Analyse der Systemanforderungen für diese beiden Ansätze stellen wir fest, dass VSTO teurer ist und mehr Grundvoraussetzungen benötigt.

VSTO hat eine lange Liste von Voraussetzungen:

  • Unterstützte Betriebssysteme: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Unterstützte Framework-Versionen: nur .NET Framework 2.0 oder höher.
  • Mindestens eine der folgenden Editionen von Visual Studio-Tools für Office:
  • Microsoft Visual Studio 2005-Tools für das Microsoft Office-System
  • Microsoft Visual Studio 2005-Tools für 2007 Microsoft Office System
  • Visual Studio 2008 Professional Edition
  • Visual Studio 2008 Team Suite-Edition
  • Eine Version von Microsoft Office:
  • Microsoft Office Professional 2003 SP1
  • 2007 Microsoft Office-System

Aspose.Cells Microsoft Excel muss weder auf dem Client noch auf dem Server installiert sein, da es sich um eine Tabellenkalkulations-Engine handelt. Um Microsoft Excel-Dokumente anzuzeigen, muss jedoch mindestens Microsoft Excel Viewer auf dem System installiert sein.

  • Unterstützte Betriebssysteme: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • .NET Unterstützte Framework-Versionen: alle .NET-Frameworks werden unterstützt, 1.0, 1.1, 2.0, 3.x usw.

Installation und Bereitstellung

Die Installation von VSTO kann eine große und mühsame Aufgabe sein. Gelegentlich erfordert eine Installation, dass Sie Teile der Tools manuell neu installieren und sie auch manuell registrieren. Es kann kompliziert werden.

Andererseits ist Aspose.Cells for .NET in einer einzigen DLL verpackt, sodass keine zusätzlichen Apps installiert werden müssen. Die Komponente wird nur von .NET-Anwendungen verwendet, und kein Teil des Komponentencodes ist darauf ausgelegt, auf eine menschliche Antwort zu warten. Besuchen Sie einfach Aspose.CellsDownload-Seite und laden Sie das neueste Installationsprogramm Aspose.Cells herunter. Führen Sie die heruntergeladene Datei aus und befolgen Sie die Anweisungen des Installationsprogramms. Um die Komponente dann zu verwenden, referenzieren Sie sie in Ihrem Projekt.

Beispielaufgabe

Um die Unterschiede zwischen den beiden Ansätzen aufzuzeigen, zeigt der folgende Code, wie sowohl VSTO- als auch Aspose.Cells-APIs verwendet werden, um eine Vorlagendatei mit Daten zu füllen.

  1. Als Vorlage dient eine Microsoft Excel-Datei (TempBook.xls). Die Arbeitsmappe enthält einige Arbeitsblätter mit einigen Zellen, die mit Daten gefüllt sind.
  2. Der Beispielcode fügt 1000*20 Datensätze in das erste Arbeitsblatt in der Excel-Vorlagendatei ein. Das Arbeitsblatt wird mit konstanten (Dummy-)Daten in die Zellen gefüllt.

Die Aufgabe wird auf einem System mit Intel(R) Celeron(R) CPU 2,40 GHz, 760 MB RAM und Microsoft Windows XP Professional Betriebssystem ausgeführt.

Die folgenden Codesegmente veranschaulichen, wie diese Aufgaben mit jedem API ausgeführt werden.

VSTO-Code

Aspose.Cells Code

Ergebnisse

Die Ergebnisse zeigten, dass die Verwendung von VSTO API etwa 2,5 Minuten (ca. über 150 Sekunden) dauerte, um die Aufgabe abzuschließen, während Aspose.Cells weniger als 1 Sekunde auf einer üblichen Hardware mit normalen Systemkonfigurationen benötigte.

Wenn die Schleife verlängert wird, um beispielsweise 10.000 x 20 Zellen zu füllen, benötigt Aspose.Cells etwa 5,5 Sekunden, um die Aufgabe zu erledigen.

Fazit

Wenn Sie erwägen, eine Microsoft Office-Technologie in einer Unternehmenslösung einzusetzen, machen Sie sich zunächst mit den verfügbaren Alternativen vertraut. Führen Sie einige Tests basierend auf verschiedenen Produkten durch und setzen Sie sie einer Vielzahl realer Bedingungen wie Belastung und Stress aus, um zu sehen, wie gut sie funktionieren.

Aspose.Cells ist ein stabiles und ausgereiftes Produkt mit einem weltweiten Kundenstamm und skalierbar genug, um unter hoher Last gut zu funktionieren.

Die Leistung von VSTO ist noch nicht verfeinert. Es ist durchaus möglich, dass einige dieser Leistungsprobleme nicht mit VSTO selbst zusammenhängen, sondern mit .NET JIT-Kompilierungsprozessen zusammenhängen. Dennoch bestehen gewisse Zweifel, ob die VSTO-Anwendungen bei steigender Last selbst skaliert würden. Das neuere Modell von VSTO erfordert nicht, dass sich Excel zur Dokumentenverarbeitung auf dem Webserver befindet, aber ich denke, VSTO hat noch einen langen Weg vor sich, um eine echte Wirkung zu erzielen.