Aspose.Cells for Java Vs Concurrents Open Source
Vue d’ensemble
La majorité des scénarios commerciaux demandent des rapports sophistiqués riches en contenu et axés sur les besoins des décisions spécifiques ou des tâches que la direction générale utilisera. Ils nécessitent également un moyen de collecte de données, d’analyse et d’interface avec des systèmes de base de données.
Une solution courante consiste à utiliser des feuilles de calcul pour la collecte de données, l’analyse et comme outil de présentation. La solution devrait être capable de créer des fichiers Microsoft Excel entièrement formatés qui peuvent analyser un scénario commercial et, idéalement, étendre ces fonctionnalités de base pour explorer les processus de capture et d’exportation de données vers d’autres applications bureautiques largement utilisées. Ces développements peuvent inclure l’utilisation des fonctionnalités et des fonctions intégrées de Microsoft Excel.
Nous rencontrons aujourd’hui différents composants de feuilles de calcul sur le marché qui promettent vraiment des APIs riches en fonctionnalités pour la gestion des feuilles de calcul. Ici, nous faisons une analyse des fonctionnalités de Aspose.Cells for Java par rapport à ses concurrents open source JExcelAPI et POI’s HSSF. Permettez-moi de donner une introduction des trois premiers.
Aspose.Cells for Java
Aspose.Cells for Java est un composant flexible qui permet aux applications Java de créer et de gérer des feuilles de calcul Excel sans avoir Microsoft Excel installé sur le système (client ou serveur). Contrairement à des produits similaires d’autres fournisseurs, Aspose.Cells for Java prend en charge non seulement la génération de feuilles de calcul et les fonctionnalités de base de mise en forme de fichier, mais aussi un certain nombre de fonctionnalités avancées. Ces fonctionnalités avancées facilitent la manipulation du contenu de la feuille de calcul, la mise en forme de cellules et les options de protection des fichiers.
Aspose.Cells for Java peut également importer des données dans des feuilles de calcul à partir de différentes sources de données, ajouter des formules et des fonctions mathématiques, date/heure, financières et textuelles communes et complexes, des images (tous les formats principaux sont pris en charge, y compris BMP, GIF, JPG, PNG, WMF, EMF et autres), créer des commentaires, créer des objets et contrôles de dessin, et effectuer toute une série d’autres tâches.
Aspose.Cells for Java prend également en charge les modules complémentaires, VBA et macros.
Ouverture et Sauvegarde
En plus de prendre en charge des fonctionnalités courantes comme la création ou la lecture de fichiers Excel natifs, Aspose.Cells for Java offre également de nombreuses fonctionnalités précieuses telles que la sauvegarde et l’ouverture de fichiers Excel (Excel 97 - Excel 2007) vers et depuis des flux, l’importation et l’exportation de données à partir d’un ResultSet et d’un tableau,
Aspose.Cells peut importer des graphiques, des plages nommées, des en-têtes et pieds de page avec toutes les attributs que Microsoft Excel fournit, insérer des hyperliens et des images, et importer des formules à partir d’une feuille de calcul créée par un concepteur.
Formatage
Le formatage des données de la feuille de calcul est important car il peut changer la signification de vos données. Si vous prévoyez d’imprimer une feuille de calcul, de l’envoyer par e-mail à des clients ou de la montrer à votre patron, vous devez réfléchir à la manière dont elle est formatée de manière conviviale pour le spectateur. Une utilisation prudente de la couleur, du ombrage, des bordures, des polices, du formatage des nombres, de l’alignement, de l’indentation et de l’orientation peuvent faire la différence entre un amas de données désordonné et une feuille de calcul facile à manipuler et à comprendre.
Aspose.Cells for Java offre la flexibilité de dessiner des bordures autour des cellules et des plages de cellules facilement. De plus, l’AIP peut appliquer des paramètres de police (famille et type, style, taille, couleur et alignement) et ombrer les cellules avec des motifs de fond. L’API est suffisamment efficace pour que vous puissiez formater une ligne ou une colonne complète, définir des alignements, envelopper et faire pivoter le texte dans les cellules.
Aspose.Cells for Java prend en charge tous les types de formats de nombre, y compris le format général, les nombres en notation décimale, les symboles de devise, les pourcentages, le format scientifique, les valeurs de date/heure et même des formats de nombre personnalisés.
Aspose.Cells permet aux développeurs d’ajuster automatiquement les lignes et les colonnes en une seule action, ainsi que de configurer tous les types d’options de mise en page de manière pratique dans une API : marges supérieure, gauche, inférieure, droite, en-tête et pied de page, orientation - portrait ou paysage - mise à l’échelle, taille de papier, zone d’impression, lignes et colonnes répétitives, et bien d’autres.
Fonctionnalités uniques
Il y a aussi un certain nombre de fonctionnalités uniques que les développeurs ne trouveront que dans Aspose.Cells for Java, par exemple le support d’une large gamme de formats incluant XLS, XLT, XLSX, CSV, SpreadsheetML, tabulation, TXT, XML et HTML.
L’API permet également aux développeurs d’ajouter une copie d’une feuille de calcul existante (avec l’intégralité du contenu, des images et des graphiques) à un fichier, de définir un arrière-plan dégradé pour les graphiques via l’API, de créer des commentaires, de définir des paramètres de langue et de région, des filtres automatiques et des sauts de page, de définir des formules complexes, un format conditionnel, tous les types d’options de protection introduites dans Microsoft Excel XP ou supérieur, et de manipuler des plages nommées.
De plus, Aspose.Cells ajoute une API de graphique personnalisé et un moteur de calcul de formules efficace.
Essayez Aspose.Cells for Java
Aspose.Cells for Java dispose d’une longue liste de fonctionnalités. Pour en savoir plus sur les fonctionnalités et pour le guide du programmeur, veuillez consulter la documentation et les démos en ligne.
Veuillez essayer le composant pour voir la différence entre lui et ses concurrents. La version d’évaluation est totalement gratuite et sans aucune limitation de temps. Téléchargez la version d’évaluation gratuitement.
Autres API
JExcelAPI
JExcelAPI est une API Java utilisée pour lire, écrire et modifier des feuilles de calcul Excel. Il s’agit d’une API Java open source qui permet aux développeurs Java de lire des feuilles de calcul Excel et de générer des feuilles de calcul Excel dynamiquement. De plus, il contient un mécanisme qui permet aux applications Java de lire une feuille de calcul, de modifier des cellules et d’écrire la nouvelle feuille de calcul.
À l’heure actuelle, il dispose d’un ensemble limité de fonctionnalités. Il prend en charge : la lecture et l’écriture de fichiers Excel natifs Microsoft (Excel97-2003) uniquement au format de fichier XLS. Il dispose d’une prise en charge limitée du calcul de formules. Il peut manipuler des polices, prend en charge le formatage des nombres et des dates, modifier des feuilles de calcul existantes, des paramètres de langue, préserver des graphiques (mais ne permet pas aux développeurs de créer ou de manipuler des graphiques), d’insérer des images, etc.
Support limité des graphiques
JExcelApi a un support limité pour les graphiques : il ne prend pas en charge la création et la manipulation de graphiques. Lors de la copie d’une feuille de calcul contenant un graphique, le graphique est écrit dans la feuille de calcul générée (tant que la feuille contenant le graphique contient également d’autres données en plus du graphique). Toutes les informations sur l’image sont préservées lors de la copie des fichiers Excel, cependant, lors de l’ajout d’une image à une feuille de calcul, seules les images au format PNG sont prises en charge.
Impossible de copier les feuilles de calcul
Il n’y a pas d’API pour copier directement des feuilles de calcul dans ou entre des classeurs. Cette tâche peut être effectuée de manière indirecte, mais nécessite un certain travail. Par exemple, en utilisant des boucles, copiez cellule par cellule avec la méthode WritableCell.copyTo(), qui produira une copie profonde. Cependant, le format est seulement copié de manière superficielle, donc vous devrez obtenir le format de la cellule et utiliser le constructeur de copie de celui-ci, puis appeler WritableCell.setCellFormat() sur la cellule que vous venez de copier. C’est un travail assez important.
Aucune optimisation
Une autre limitation est que JExcelAPI ne réalise pas d’optimisations pour réduire la taille des fichiers, il ne faut donc pas être surpris de voir un fichier de sortie généré par le composant avec une taille énorme en Mo.
JExcelAPI n’a pas d’API pour ajuster automatiquement les lignes ou les colonnes. Vous devrez écrire du code qui parcourt les cellules de chaque colonne, calcule la longueur maximale, puis appeler les méthodes WritableSheet.setColumnView() et WritableSheet.setRowView() en conséquence.
Fonctionnalités manquantes
Il y a aussi quelques obstacles supplémentaires : l’API ne prend pas en charge les tableaux croisés dynamiques et les listes déroulantes. Les options de validation des cellules sont limitées. Les options de mise en page et d’impression ne sont pas entièrement prises en charge, par exemple la répétition des lignes et des colonnes et tous les types d’options de protection (y compris les feuilles protégées par mot de passe) ne sont pas pris en charge. Il ne prend pas non plus en charge le tri des données, les filtres automatiques, la mise en forme conditionnelle, les objets de dessin, les contrôles et de nombreuses autres fonctionnalités précieuses.
POI-HSSF
HSSF est le composant de POI qui lit et écrit des feuilles de calcul Excel. Il dispose d’un ensemble étendu de fonctionnalités par rapport à JExcelAPI, notamment la lecture et l’écriture de fichiers Excel natifs de Microsoft (format de fichier Excel97-2003 - le format de fichier XLSX OOXML n’est pas encore pris en charge), la mise en forme des cellules (formats de nombre, polices, couleurs, bordures, alignements, etc.), la fusion des cellules, les options de mise en page, l’importation d’images, de formes, de plages nommées, la création de commentaires, d’en-têtes et de pieds de page, de liens hypertexte, d’ajustement automatique des lignes et des colonnes, etc.
Support limité des graphiques
Il existe quelques limitations connues pour l’API POI-HSSF. Par exemple, il n’est actuellement pas possible de créer des graphiques. Cependant, vous pouvez créer un graphique dans Excel, modifier les valeurs de données du graphique à l’aide de HSSF et enregistrer une nouvelle feuille de calcul.
Calcul de formules
Bien que l’org.apache.poi.hssf.usermodel de POI prenne en charge les formules, il manque un moteur de calcul de formules complet. Il prend en charge les formules contenant des références de cellules, des littéraux de chaîne, d’entiers et à virgule flottante, des références relatives ou absolues, des opérateurs arithmétiques et logiques, mais il ne prend pas en charge les formules matricielles, les opérateurs unaires et les références 3D.
Fonctionnalités manquantes
L’API HSSF ne prend pas en charge les tableaux croisés dynamiques non plus. Il existe des options de validation des données limitées à définir sur les cellules. Il ne prend pas non plus en charge des fonctionnalités telles que le tri des données et le filtrage automatique des données.
Comparaison des fonctionnalités
Le tableau suivant tente de fournir un aperçu des fonctionnalités de Aspose.Cells for Java par rapport aux composants open source (mentionnés ci-dessus) bien qu’il ne prétende pas couvrir toutes les fonctionnalités fournies par les produits concernés. Il s’agit simplement d’un aperçu pris à un moment donné et il est tout à fait possible que les fonctionnalités manquantes puissent être prises en charge lorsque vous lirez le document.
Fonctionnalité | JExcelAPI | POI’s HSSF | Aspose.Cells for Java |
---|---|---|---|
Formats de fichier | |||
Lire et écrire des formats de fichier (XLS, XLT, XLSX, CSV, SpreadsheetML, délimité par des onglets, TXT, XML et HTML) | Partiellement pris en charge | Partiellement pris en charge | Pris en charge |
Ouvrir un fichier et l’enregistrer dans un flux | Pris en charge | ||
Convertir un fichier Excel en document PDF | Pris en charge | ||
Fichiers protégés par mot de passe | Pris en charge | Pris en charge | |
Manipuler le contenu de la feuille de calcul | |||
Modifier les propriétés du document des fichiers Excel | Pris en charge | ||
Exporter les données de la feuille de calcul vers un tableau | Pris en charge | ||
Importer des données d’un ResultSet | Pris en charge | ||
Importer des données à partir d’un tableau, d’une collection | Pris en charge | ||
Ajouter une copie de la feuille de calcul existante (tous les contenus incluant les images et les graphiques) | Pris en charge partiellement | Pris en charge partiellement | Pris en charge |
Importer des images | Pris en charge | ||
Importer des graphiques | Pris en charge | ||
Définir un arrière-plan dégradé pour les graphiques à l’aide de l’API | Pris en charge | ||
Protéger la feuille de calcul, y compris les contenus, les objets et les scénarios | Pris en charge partiellement | Pris en charge | Pris en charge |
Créer des filtres automatiques à l’aide de l’API | Pris en charge | ||
Fonctionnalités de mise en page (marges supérieure, gauche, inférieure et droite, en-tête et pied de page, orientation - portrait ou paysage, échelle, format de papier, zone d’impression, lignes et colonnes répétées) | Pris en charge partiellement | Pris en charge | Pris en charge |
Sauts de page horizontal et vertical via l’API | Pris en charge | Pris en charge | Pris en charge |
Copier et déplacer des feuilles de calcul à l’intérieur et entre des classeurs | Pris en charge | Pris en charge | |
Insérer et supprimer des lignes et des colonnes | Pris en charge | Pris en charge | |
Ajuster automatiquement les lignes et les colonnes | Pris en charge | Pris en charge | |
Copier des lignes et des colonnes | Pris en charge | ||
Trier les données | Pris en charge | ||
Repérer les précédents et les dépendants | Pris en charge | ||
Filtrage automatique | Pris en charge | ||
Validation des données (tous types) | Pris en charge partiellement | Pris en charge partiellement | Pris en charge |
Importer les formules du tableur du concepteur | Partiellement pris en charge | Partiellement pris en charge | Pris en charge |
Définir des formules complexes via API | Pris en charge | ||
Mise en forme conditionnelle | Pris en charge | Pris en charge | |
Activation des feuilles et mise en place d’une cellule active dans le classeur. | Pris en charge | Pris en charge | Pris en charge |
Fonctionnalités avancées | |||
Marqueurs intelligents | Pris en charge | ||
Créer des graphiques standard (colonne, barre, ligne, secteur, nuage de points, aire, donut, radar, surface 3D, bulle, actions, cylindre, cône, pyramide, etc.) | Pris en charge | ||
API de graphique personnalisé | Pris en charge | ||
Paramètres des propriétés du document | Pris en charge | ||
Options de protection avancées d’Excel XP | Pris en charge | ||
Compléments, VBA, macros | Pris en charge | ||
Manipuler les plages nommées | Pris en charge | Pris en charge | Pris en charge |
Tableaux croisés dynamiques | Pris en charge | ||
Créer des objets de dessin, des formes et des contrôles communs | Pris en charge | Pris en charge | |
Insérer des contrôles dans les graphiques | Pris en charge | ||
Moteur de calcul de formule | Pris en charge | ||
API de recherche | Pris en charge | Pris en charge | Pris en charge |