Comparaison de VSTO avec Aspose.Cells for .NET

Vue d’ensemble

Microsoft Excel est largement utilisé par les entreprises et les particuliers dans toutes sortes d’industries. L’application de feuille de calcul est presque omniprésente et permet aux utilisateurs non seulement de stocker et d’organiser des données, mais aussi de construire des modèles complexes avec des formules et de présenter les données clairement avec une mise en forme avancée et des graphiques.

VSTO permet aux documents Microsoft Office d’exécuter du code enveloppé dans une assembly .NET. Il est utilisé pour développer des applications qui travaillent avec des fichiers et des fonctionnalités Microsoft Office. Les développeurs ont utilisé ASP, les composants Web Office et COM interop dans les applications depuis des années. Microsoft a amélioré VSTO pour faciliter le développement et le déploiement d’applications et améliorer la gestion de la mémoire. Mais la question demeure : VSTO est-il conçu pour être plus facile à utiliser et plus fiable que d’autres approches disponibles aujourd’hui? Les développeurs veulent travailler avec des solutions qui ne les laisseront pas tomber en termes de performances améliorées, de sécurité, de scalabilité, de stabilité, de fiabilité ou de fonctionnalités.

Aspose propose une excellente gamme d’API .NET, Java, Cloud et Android. Les API Aspose comprennent des produits tels que Aspose.Cells, Aspose.Words, Aspose.Pdf et Aspose.Slides, des API qui aident les développeurs à ouvrir, modifier, générer, enregistrer, fusionner et convertir des documents dans différents formats, y compris XLS, XLSX, DOC, DOCX, HTML, PDF, PPT.

Dans cet article, nous comparons VSTO avec Aspose.Cells for .NET.

Aspose.Cells est une API indépendante de manipulation de feuilles de calcul Microsoft Excel qui lit et écrit des feuilles de calcul Microsoft Excel sans Microsoft Excel installé côté client ou serveur. Aspose.Cells est un composant riche en fonctionnalités et offre bien plus que l’exportation basique de données. Avec Aspose.Cells, les développeurs peuvent exporter des données, formater des feuilles de calcul, importer des images, créer et manipuler des graphiques, diffuser des données Excel et enregistrer dans divers formats. Pour en savoir plus sur le produit et ses fonctionnalités :

Cet article compare VSTO et Aspose.Cells sur différents aspects liés à Microsoft Excel. La liste n’est pas exhaustive, mais elle représente quelques problèmes que les décideurs doivent comprendre avant de prendre une décision finale avant d’adopter une approche.

Exigence du cadre .NET

VSTO nécessite le .NET Framework (y compris Visual Studio Tools for Office SE Runtime) du côté du client pour exécuter l’application finale. Dans la plupart des environnements d’entreprise, notamment dans les scénarios web, les utilisateurs finaux ne peuvent pas installer de logiciels d’application et des cadres d’exécution connexes. Cette seule exigence rend les applications basées sur VSTO problématiques. Cela exclut pratiquement les applications prêtes à l’emploi basées sur VSTO.

Au contraire, Aspose.Cells for .NET ne demande pas nécessairement le .NET Framework du côté du client pour le scénario sous-jacent. Les applications Office construites avec le composant sont légères et garanties pour fonctionner sur les systèmes Microsoft Windows sous une charge significative.

Fonctionnalités

Les fonctionnalités fournies par VSTO dépendent de la combinaison de VSTO et des produits Visual Studio que vous avez installés. Les tâches courantes effectuées par VSTO pour Microsoft Office Excel 2003 comprennent l’ajout de données aux cellules, la création, l’ouverture et l’enregistrement des classeurs, l’ajout, le déplacement et la dissimulation des feuilles de calcul, la protection des feuilles de calcul, les plages nommées, les objets de liste, la mise en forme des styles, la recherche de texte dans les cellules, le tri des données, l’impression et les calculs de formules Excel.

Aspose.Cells fournit tout ce qui est nécessaire pour gérer les fichiers Microsoft Office Excel et bien plus encore. L’API offre aux développeurs de très bons résultats avec le moins d’efforts possibles. Aspose.Cells propose de nombreuses fonctions puissantes et gain de temps. L’API offre des API faciles à utiliser pour tous types d’activités de gestion de feuilles de calcul, couvrant presque toutes les fonctionnalités de Microsoft Excel. Toutes les tâches énumérées pour VSTO peuvent facilement être effectuées par Aspose.Cells.

Aspose.Cells prend également en charge plusieurs fonctionnalités avancées, y compris le support des Marqueurs Intelligents, l’importation et l’exportation des données de et vers un certain nombre de sources de données, des objets et des fichiers Excel, le support des clients COM (client ASP), l’interopérabilité avec le composant, la conversion des fichiers Excel au format PDF, l’enregistrement des graphiques et des feuilles de calcul Excel en tant que fichiers image.

Sécurité

Par défaut, les applications VSTO nécessitent des autorisations Full Trust pour l’exécution car elles n’autorisent pas les appelants partiellement approuvés. Pour verrouiller une application web et fournir un niveau supplémentaire d’isolation d’application dans un environnement hébergé, vous pouvez utiliser la sécurité d’accès au code pour restreindre les ressources auxquelles l’application peut accéder et les opérations privilégiées qu’elle peut effectuer. Mais vous devez investir du temps et des efforts pour comprendre la sécurité .NET.

Les fournisseurs de services Internet (FSI) qui hébergent de nombreuses applications de nombreuses entreprises différentes utilisent fréquemment le niveau de confiance moyen pour garantir que les applications ne peuvent pas lire les données ou interférer les unes avec les autres. Pour des raisons de sécurité, les FSI peuvent limiter les applications web individuelles sur des serveurs partagés à une confiance partielle.

Aspose.Cells for .NET peut fonctionner sous le niveau de sécurité de la confiance moyenne. Aucun privilège spécial n’est requis pour exécuter l’assembly dans un environnement hébergé. La confiance moyenne place des restrictions sur les types de ressources système partagées auxquelles les applications peuvent accéder. De nombreuses applications web s’exécutent sur des serveurs d’hébergement web. En mode d’hébergement web, la plupart d’entre elles ne peuvent s’exécuter que sous le niveau de sécurité de la confiance moyenne. Aspose.Cells for .NET peut très bien répondre à leurs besoins à cet égard.

Performance

La performance est le facteur le plus critique lors du choix de toute approche ou méthode pour construire une solution.

La performance d’une application VSTO repose sur les approches VBA et COM selon certains rapports d’utilisateurs. Plusieurs facteurs influencent la performance de VSTO, et il est important de mettre ces facteurs en perspective.

  • Le coût de démarrage .NET est intrinsèquement élevé. Les applications écrites avec .NET doivent supporter les frais de la compilation Just-In-Time (JIT), donc la compilation JIT ne peut être évitée.
  • Un autre facteur de performance influençant les applications basées sur VSTO concerne les dépenses liées à l’appel à travers les couches épaisses de l’automatisation qui enveloppent les objets COM de Microsoft Office. VBA, construit et optimisé pour interagir avec Microsoft Office, a moins de distance à parcourir que .NET.
  • Enfin, l’hébergement des objets Excel dans l’IDE Visual Studio est coûteux en termes de ressources. Les applications VSTO ont une empreinte mémoire plus grande que les applications VBA. Les applications Excel VSTO utilisent beaucoup de mémoire et ne la restituent jamais au système d’exploitation tant que toutes les instances de Microsoft Excel ne sont pas fermées.

Si vous envisagez d’adopter VSTO comme plateforme de développement pour la technologie Microsoft Office, consacrez du temps à vous familiariser avec ces attributs.

De plus, l’impact sur les performances de vérifier toujours les mises à jour peut ne pas être approprié pour la solution (serveurs de déploiement plus lents, connexions réseau plus lentes ou simplement être incapable d’atteindre fréquemment le serveur peut avoir un impact négatif sur les temps de chargement).

En revanche, Aspose.Cells for .NET est hautement évolutive, flexible et rapide. Généralement, les applications Office n’ont pas été conçues pour être utilisées simultanément par des centaines voire des milliers d’utilisateurs; cependant, Aspose.Cells l’est. L’API est stable et peut exécuter des tâches de feuille de calcul de manière impeccable, que ce soit sur un seul serveur, alimentant une seule application ou sur une ferme web équilibrée alimentant une application à l’échelle de l’entreprise.

Configuration requise

En analysant les exigences du système pour ces deux approches, nous constatons que VSTO est plus coûteux et nécessite plus d’essentiel.

VSTO a une longue liste de prérequis :

  • Systèmes d’exploitation pris en charge : Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • Versions de .NET Framework prises en charge : uniquement .NET Framework 2.0 ou supérieur.
  • Une ou plusieurs des éditions suivantes de Visual Studio Tools for Office :
    • Microsoft Visual Studio 2005 Tools for the Microsoft Office System
    • Microsoft Visual Studio 2005 Tools for the 2007 Microsoft Office System
    • Édition Professionnelle de Visual Studio 2008
    • Édition Team Suite de Visual Studio 2008
    • Une version de Microsoft Office :
    • Microsoft Office Professional 2003 SP1
    • Système 2007 de Microsoft Office

Aspose.Cells ne nécessite pas que Microsoft Excel soit installé sur le client ou sur le serveur, car il s’agit d’un moteur de création de feuilles de calcul. Cependant, pour visualiser des documents Microsoft Excel, vous devez avoir au moins Microsoft Excel Viewer installé sur le système.

  • Systèmes d’exploitation pris en charge : Windows 2000; Windows Server 2003; Windows Vista; Windows XP
  • Versions de .NET Framework prises en charge : tous les frameworks .NET sont pris en charge, 1.0, 1.1, 2.0, 3.x, etc.

Installation et déploiement

L’installation de VSTO peut être une tâche complexe et fastidieuse. De temps en temps, une installation exige que vous réinstalliez manuellement certains aspects des outils, et que vous les enregistriez manuellement également. Cela peut devenir compliqué.

D’autre part, Aspose.Cells for .NET est empaqueté dans une seule DLL, donc il n’est pas nécessaire d’installer des applications supplémentaires. Le composant est uniquement utilisé par les applications .NET et aucune partie du code du composant n’est conçue pour attendre une réponse humaine. Visitez simplement la page de téléchargement d’Aspose.Cells (https://downloads.aspose.com/cells/net) et téléchargez le dernier programme d’installation d’Aspose.Cells. Exécutez le fichier téléchargé et suivez les instructions du programme d’installation. Ensuite, pour utiliser le composant, référencez-le dans votre projet.

Exemple de tâche

Pour montrer les différences entre les deux approches, le code ci-dessous montre comment utiliser à la fois les API VSTO et Aspose.Cells pour remplir un fichier modèle avec des données.

  1. Un fichier Microsoft Excel (TempBook.xls) est utilisé comme modèle. Le classeur contient quelques feuilles de calcul avec quelques cellules remplies de données.
  2. Le code d’exemple place 1000*20 enregistrements sur la première feuille de calcul dans le fichier Excel modèle. La feuille de calcul est remplie de données constantes (fausses) dans les cellules.

La tâche est effectuée sur un système équipé d’un processeur Intel(R) Celeron(R) 2,40 GHz, 760 Mo de RAM sur le système d’exploitation Microsoft Windows XP Professional.

Les segments de code ci-dessous illustrent comment accomplir ces tâches avec chaque API.

Code VSTO

Code Aspose.Cells

Résultats

Les résultats ont montré que l’utilisation de l’API VSTO a pris environ 2,5 minutes (environ plus de 150 secondes) pour terminer la tâche tandis que Aspose.Cells a pris moins d'1 seconde sur un matériel courant avec des configurations système normales.

Si la boucle est étendue, disons pour remplir 10 000*20 cellules, Aspose.Cells prend environ 5,5 secondes pour accomplir la tâche.

Conclusion

Si vous envisagez d’utiliser une technologie Microsoft Office dans une solution professionnelle, familiarisez-vous d’abord avec les alternatives disponibles. Effectuez quelques tests basés sur différents produits et exposez-les à une variété de conditions réelles telles que la charge et le stress pour voir comment ils se comportent.

Aspose.Cells est un produit stable et mature avec une base de clients mondiale, et suffisamment évolutif pour bien fonctionner sous des charges lourdes.

Les performances de VSTO ne sont pas encore raffinées. Il est tout à fait possible que certaines de ces questions de performance ne soient pas liées à VSTO lui-même mais plutôt aux processus de compilation .NET JIT. Cependant, il y a encore des doutes quant à savoir si les applications VSTO évolueraient avec la charge. Le nouveau modèle de VSTO ne nécessite pas qu’Excel soit installé sur le serveur Web pour le traitement des documents, mais je pense que VSTO a encore un long chemin à parcourir pour avoir un réel impact.