Vergleich von VSTO mit Aspose.Cells for .NET
Übersicht
Microsoft Excel wird von Unternehmen und Einzelpersonen in allen möglichen Branchen weit verbreitet eingesetzt. Die Tabellenkalkulationsanwendung ist nahezu allgegenwärtig und ermöglicht es Benutzern nicht nur, Daten zu speichern und zu organisieren, sondern auch komplexe Modelle mit Formeln zu erstellen und Daten übersichtlich mit erweiterter Formatierung und Diagrammen darzustellen.
VSTO ermöglicht es, dass in einem .NET-Assembly eingewickelter Code in Microsoft Office-Dokumenten ausgeführt wird. Es wird verwendet, um Anwendungen zu entwickeln, die mit Microsoft Office-Dateien und -Funktionen arbeiten. Entwickler haben ASP, Office Web-Komponenten und COM-Interop seit Jahren in Anwendungen verwendet. Microsoft hat VSTO verbessert, um die Entwicklung und Bereitstellung von Anwendungen zu erleichtern und das Speichermanagement zu verbessern. Aber die Frage bleibt: Ist VSTO dazu gedacht, einfacher zu verwenden und zuverlässiger zu sein als andere heute verfügbare Ansätze? Entwickler möchten mit Lösungen arbeiten, die sie hinsichtlich verbesserter Leistung, Sicherheit, Skalierbarkeit, Stabilität, Zuverlässigkeit oder Funktionen nicht im Stich lassen.
Aspose bietet eine Reihe von großartigen .NET, Java, Cloud- und Android-APIs. Aspose-APIs umfassen Produkte wie Aspose.Cells, Aspose.Words, Aspose.Pdf und Aspose.Slides, APIs, die Entwicklern helfen, Dokumente in verschiedenen Formaten wie XLS, XLSX, DOC, DOCX, HTML, PDF, PPT zu öffnen, zu ändern, zu generieren, zu speichern, zusammenzuführen und zu konvertieren.
In diesem Artikel vergleichen wir VSTO mit Aspose.Cells for .NET.
Aspose.Cells ist eine unabhängige Microsoft Excel-Tabellenkalkulations-API, die Microsoft Excel-Tabellenkalkulationen ohne Microsoft Excel auf der Client- oder Serverseite lesen und schreiben kann. Aspose.Cells ist eine funktionsreiche Komponente und bietet weit mehr als nur den einfachen Datenexport. Mit Aspose.Cells können Entwickler Daten exportieren, Tabellenkalkulationen formatieren, Bilder importieren, Diagramme erstellen und manipulieren, Excel-Daten streamen und in verschiedene Formate speichern. Um mehr über das Produkt und seine Funktionen zu erfahren:
- Sehen Sie sich die Aspose.Cells-Dokumentation an.
- Sehen Sie, wie es in den Online-Demos funktioniert.
- Probieren Sie es aus: laden Sie eine kostenlose Evaluierungsversion herunter.
Dieser Artikel vergleicht VSTO und Aspose.Cells in Bezug auf verschiedene Aspekte im Zusammenhang mit Microsoft Excel. Die Liste ist nicht vollständig, aber sie stellt einige Probleme dar, die Entscheidungsträger verstehen müssen, bevor sie eine endgültige Entscheidung treffen, bevor sie einen Ansatz übernehmen.
.NET Framework Anforderung
VSTO erfordert das .NET Framework (einschließlich Visual Studio Tools für Office SE-Laufzeit) auf der Client-Seite, um die endgültige Anwendung auszuführen. In den meisten Unternehmensumgebungen, insbesondere in Web-Szenarien, können Endbenutzer keine Anwendungssoftware und die entsprechenden Laufzeitumgebungen installieren. Allein diese Anforderung macht VSTO-basierte Anwendungen problematisch. Es schließt praktisch Standardanwendungen auf der Grundlage von VSTO aus.
Im Gegensatz dazu erfordert Aspose.Cells for .NET nicht unbedingt das .NET Framework auf der Client-Seite für das zugrunde liegende Szenario. Die mit dem Komponenten erstellten Office-Anwendungen sind leichtgewichtig und garantieren, dass sie unter hoher Last auf Microsoft-Windows-Systemen funktionieren.
Funktionen
Die von VSTO bereitgestellten Funktionen hängen davon ab, welche Kombination von VSTO- und Visual Studio-Produkten Sie installiert haben. Zu den gängigen Aufgaben, die von VSTO für Microsoft Office Excel 2003 ausgeführt werden, gehören das Hinzufügen von Daten zu Zellen, 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, Formatieren von Stilen, das Suchen von Text in Zellen, das Sortieren von Daten, Drucken und Excel-Formelberechnungen.
Aspose.Cells bietet alles Notwendige zum Verwalten von Microsoft Office Excel-Dateien und noch viel mehr. Die API liefert den Entwicklern großartige Ergebnisse mit minimalem Aufwand. Aspose.Cells bietet viele leistungsstarke, zeitsparende Funktionen. Die API bietet benutzerfreundliche Schnittstellen für alle Arten von Tabellenkalkulationsverwaltungstätigkeiten und deckt nahezu alle Funktionen ab, die Microsoft Excel bietet. Alle für VSTO aufgelisteten Aufgaben können problemlos von Aspose.Cells ausgeführt werden.
Darüber hinaus unterstützt Aspose.Cells mehrere erweiterte Funktionen, darunter die Unterstützung für Smart Markers, Import und Export von Daten aus einer Vielzahl von Datenquellen, Objekten und Excel-Dateien, Unterstützung für COM-Clients (ASP-Client), Interoperabilität mit der Komponente, Konvertierung von Excel-Dateien in das PDF-Format, Speichern von Excel-Diagrammen und Arbeitsblättern als Bilddateien.
Sicherheit
Standardmäßig erfordern VSTO-Anwendungen volle Berechtigungen zur Ausführung, da sie keine teilweise vertrauenswürdigen Aufrufer zulassen. Um eine Webanwendung zu sichern und ein zusätzliches Niveau der Anwendungsisolierung 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 Operationen, die sie ausführen kann. Aber Sie müssen einige Zeit und Mühe investieren, um die .NET-Sicherheit zu verstehen.
Internetdienstanbieter (ISPs), die viele verschiedene Anwendungen von vielen verschiedenen Unternehmen hosten, verwenden häufig das Vertrauensniveau Medium, um sicherzustellen, dass Anwendungen nicht auf die Daten anderer zugreifen oder sich in diese einmischen können. Aus Sicherheitsgründen können die ISPs einzelne Webanwendungen auf gemeinsam genutzten Servern auf teilweisen Vertrauen beschränken.
Aspose.Cells for .NET kann unter dem Sicherheitsniveau Medium Trust ausgeführt werden. Es sind keine speziellen Berechtigungen erforderlich, um die Assembly in einer gehosteten Umgebung auszuführen. Der Medium-Trust legt Einschränkungen hinsichtlich der Arten gemeinsam genutzter Systemressourcen fest, auf die die Anwendungen zugreifen können. Viele Webanwendungen laufen auf Webhosting-Servern. Im Webhosting-Modus können die meisten von ihnen nur unter dem Sicherheitsniveau Medium Trust ausgeführt werden. Aspose.Cells for .NET kann in dieser Hinsicht ihren Bedarf sehr gut erfüllen.
Leistung
Die Leistung ist der wichtigste Faktor bei der Auswahl eines beliebigen Ansatzes oder einer beliebigen Methodik zum Aufbau einer Lösung.
Die Leistung einer VSTO-Anwendung hängt laut einigen Benutzerberichten von VBA- und COM-Ansätzen ab. Es gibt mehrere Faktoren, die die Leistung von VSTO beeinflussen, und es ist wichtig, diese Faktoren in Perspektive zu setzen.
- Die .NET-Startkosten sind von Natur aus hoch. Anwendungen, die mit .NET geschrieben sind, müssen die Overheadkosten der Just-In-Time (JIT)-Kompilierung tragen, so dass die JIT-Kompilierung nicht vermieden werden kann.
- Ein weiterer Leistungsfaktor, der VSTO-basierte Anwendungen beeinflusst, hängt mit den Kosten für das Aufrufen durch die dicken Layers der Automatisierungsschnittstelle zusammen, die die Microsoft Office COM-Objekte umgeben. VBA, das darauf ausgelegt und optimiert ist, mit Microsoft Office zu interagieren, hat eine kürzere Distanz zurückzulegen als .NET.
- Schließlich ist das Hosten von Excel-Objekten in der Visual Studio-IDE in Bezug auf Ressourcen teuer. VSTO-Anwendungen haben einen größeren Speicherbedarf als VBA-Anwendungen. VSTO Excel-Anwendungen verbrauchen viel Speicher und geben ihn erst zurück an das Betriebssystem, wenn alle Instanzen von Microsoft Excel geschlossen sind.
Wenn Sie VSTO als Entwicklungsplattform für Microsoft-Office-Technologie in Betracht ziehen, sollten Sie einige Zeit investieren, um sich mit diesen Attributen vertraut zu machen.
Darüber hinaus ist die Leistungsauswirkung des ständigen Prüfens auf Updates möglicherweise nicht angemessen für die Lösung (langsamere Bereitstellungsserver, langsamere Netzwerkverbindungen oder einfach die Unfähigkeit, den Server häufig zu erreichen, können sich negativ auf die Ladezeiten auswirken).
Im Gegensatz dazu ist Aspose.Cells for .NET hoch skalierbar, flexibel und schnell. Im Allgemeinen waren Office-Anwendungen nicht für die gleichzeitige Verwendung durch Hunderte und Tausende von Benutzern konzipiert; Aspose.Cells jedoch schon. Die API ist stabil und kann Tabellenaufgaben einwandfrei durchführen, egal ob auf einem Einzelserver, der eine einzelne Anwendung unterstützt, oder auf einem lastausgeglichenen Webfarm, die eine unternehmensweite Anwendung unterstützt.
Systemanforderungen
Bei der Analyse der Systemanforderungen für diese beiden Ansätze stellen wir fest, dass VSTO teurer ist und mehr Grundlagen benötigt.
VSTO hat eine lange Liste von Voraussetzungen:
- Unterstützte Betriebssysteme: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
- Unterstützte .NET Framework-Versionen: Nur .NET Framework 2.0 oder höher.
- Eine oder mehrere der folgenden Editionen von Visual Studio Tools für Office:
- Microsoft Visual Studio 2005 Tools for the Microsoft Office System
- Microsoft Visual Studio 2005 Tools for the 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 erfordert nicht, dass Microsoft Excel auf dem Client oder dem Server installiert ist, da es eine Tabellenerstellungs-Engine ist. Um jedoch Microsoft Excel-Dokumente anzuzeigen, ist mindestens der Microsoft Excel Viewer auf dem System installiert.
- Unterstützte Betriebssysteme: Windows 2000; Windows Server 2003; Windows Vista; Windows XP
- .NET Framework-Versionen unterstützt: 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 problematische Aufgabe sein. Gelegentlich erfordert eine Installation, dass Sie Teile der Tools manuell neu installieren und auch manuell registrieren müssen. Es kann kompliziert werden.
Auf der anderen Seite ist Aspose.Cells for .NET in eine einzige DLL verpackt, sodass keine zusätzlichen Apps installiert werden müssen. Das Komponente wird nur von .NET-Anwendungen verwendet, und kein Teil des Komponentencodes ist darauf ausgelegt, auf eine menschliche Antwort zu warten. Besuchen Sie einfach die Aspose.Cells Download-Seite und laden Sie den neuesten Aspose.Cells-Installer herunter. Führen Sie die heruntergeladene Datei aus und befolgen Sie die Anweisungen des Installationsprogramms. Verweisen Sie dann in Ihrem Projekt auf die Komponente, um sie zu verwenden.
Beispielaufgabe
Um die Unterschiede zwischen den beiden Ansätzen zu zeigen, zeigt der folgende Code, wie sowohl VSTO- als auch Aspose.Cells-APIs verwendet werden, um eine Vorlagendatei mit Daten zu füllen.
- Eine Microsoft Excel-Datei (TempBook.xls) wird als Vorlage verwendet. Die Arbeitsmappe enthält einige Arbeitsblätter mit einigen mit Daten gefüllten Zellen.
- Der Beispielcode legt 1000*20 Datensätze auf dem ersten Arbeitsblatt in der Vorlagen-Excel-Datei ab. 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 unter dem Betriebssystem Microsoft Windows XP Professional durchgeführt.
Die untenstehenden Codeausschnitte veranschaulichen, wie diese Aufgaben mit jeder API ausgeführt werden.
VSTO-Code
Aspose.Cells-Code
Ergebnisse
Die Ergebnisse zeigten, dass die Verwendung der VSTO-API etwa 2,5 Minuten (ca. über 150 Sekunden) in Anspruch nahm, um die Aufgabe zu beenden, während Aspose.Cells weniger als 1 Sekunde auf einem handelsüblichen System mit normalen Systemkonfigurationen benötigte.
Wenn die Schleife erweitert wird, zum Beispiel um 10.000*20 Zellen zu füllen, benötigt Aspose.Cells etwa 5,5 Sekunden, um die Arbeit zu erledigen.
Fazit
Wenn Sie darüber nachdenken, eine Microsoft Office-Technologie in einer Geschäftslösung zu verwenden, sollten Sie sich zuerst mit verfügbaren Alternativen vertraut machen. Führen Sie einige Tests auf der Basis verschiedener Produkte durch und setzen Sie sie verschiedenen realen Bedingungen wie Belastung und Stress aus, um zu sehen, wie gut sie sich bewähren.
Aspose.Cells ist ein stabiles und ausgereiftes Produkt mit weltweiter Kundenbasis und scalebar genug, um auch unter hoher Last gut zu funktionieren.
Die Leistung von VSTO ist noch nicht ausgereift. Es ist durchaus möglich, dass einige dieser Leistungsprobleme nicht mit VSTO selbst in Verbindung stehen, sondern mit den .NET-JIT-Kompilationsprozessen. Dennoch bestehen gewisse Zweifel, ob sich die VSTO-Anwendungen selbst bei zunehmender Last skalieren würden. Das neuere Modell von VSTO erfordert nicht, dass Excel auf dem Webserver zur Dokumentenverarbeitung verbleibt, aber ich glaube, dass VSTO noch einen langen Weg vor sich hat, um einen echten Einfluss zu erzielen.