Aspose.Cells for Java Vs Concurrents Open Source

Aperçu

La majorité des scénarios d’entreprise exigent des rapports sophistiqués, riches en contenu et axés sur les besoins des décisions ou des tâches spécifiques pour lesquelles la direction générale les utilisera. Ils nécessitent également certains moyens de collecte de données, d’analyse et d’interface avec les systèmes de bases 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 doit être capable de créer des fichiers Excel Microsoft entièrement formatés capables d’analyser un scénario d’entreprise et, idéalement, d’é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 fonctions intégrées de Microsoft Excel.

Nous rencontrons différents composants de feuille de calcul sur le marché aujourd’hui qui promettent vraiment des API riches en fonctionnalités pour la gestion des feuilles de calcul. Ici, nous effectuons une analyse des fonctionnalités de Aspose.Cells for Java par rapport à ses concurrents open source JExcelAPI et HSSF de POI. Permettez-moi de vous présenter les 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 Microsoft Excel installé sur le système (client ou serveur). Contrairement aux 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 formatage de fichiers de base, mais également un certain nombre de fonctionnalités avancées. Ces fonctionnalités avancées permettent aux développeurs de manipuler facilement le contenu des feuilles de calcul, le formatage des 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, textuelles courantes et complexes, importer des images (tous les principaux formats sont pris en charge, y compris BMP, GIF, JPG, PNG, WMF, EMF et plus encore), créer des commentaires, créer des objets de dessin et des contrôles, et effectuer une gamme d’autres tâches.

Aspose.Cells for Java prend également en charge les compléments, VBA et les macros.

Ouvrir et enregistrer

Outre la prise en charge de fonctionnalités courantes telles que la création ou la lecture de fichiers Excel natifs, Aspose.Cells for Java offre également de nombreuses fonctionnalités utiles telles que l’enregistrement 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 des pieds de page avec tous les attributs fournis par Microsoft Excel, insérer des hyperliens et des images et importer des formules à partir d’une feuille de calcul de concepteur.

Mise en page

La mise en forme des données de la feuille de calcul est importante car elle peut modifier la signification de vos données. Si vous envisagez d’imprimer une feuille de calcul, de l’envoyer par e-mail à des clients ou de la montrer à votre patron, vous devez déterminer si elle est formatée de manière conviviale. Une utilisation prudente de la couleur, de l’ombrage, des bordures, des polices, de la mise en forme des nombres, de l’alignement, de l’indentation et de l’orientation peut faire la différence entre un ensemble de données désordonné et une feuille de calcul facile à utiliser et à comprendre.

Aspose.Cells for Java offre la possibilité de dessiner facilement des bordures autour des cellules et des plages de cellules. 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 d’arrière-plan. Le 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 numériques, y compris le format général, les nombres en notation décimale, les symboles monétaires, les pourcentages, le format scientifique, les valeurs de date/heure et même les formats numériques 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 dans un API pratique : marges en haut, à gauche, en bas, à droite, en-tête et en pied de page, orientation - portrait ou paysage - mise à l’échelle, taille du papier, zone d’impression, répétition des lignes et des colonnes et bien d’autres.

Caractéristiques uniques

Il existe également un certain nombre de fonctionnalités uniques que les développeurs ne trouveront que dans Aspose.Cells for Java, par exemple la prise en charge d’un large éventail de formats, notamment XLS, XLT, XLSX, CSV, SpreadsheetML, délimité par des tabulations, TXT, XML et HTML.

Le API permet également aux développeurs d’ajouter une copie d’une feuille de calcul existante (avec le contenu complet, les images et les graphiques) à un fichier, de définir un arrière-plan dégradé pour les graphiques via le API, de créer des commentaires, de définir les paramètres régionaux et régionaux, les filtres automatiques et les sauts de page. , définissez des formules complexes, une mise en forme conditionnelle, tous les types d’options de protection introduits dans Microsoft Excel XP ou supérieur, et manipulez des plages nommées.

De plus, Aspose.Cells ajoute un graphique personnalisé API et un moteur de calcul de formule efficace.

Essayez Aspose.Cells for Java

Aspose.Cells for Java a une énorme liste de fonctionnalités. Pour en savoir plus sur les fonctionnalités et pour le Guide du programmeur, veuillez consulterLa documentation etdémos en ligne.

Veuillez essayer le composant pour voir la différence entre celui-ci et ses concurrents. La version d’évaluation est totalement gratuite et sans limite de temps.Télécharger la version d’évaluation gratuitement.

Autres API

JExcelAPI

JExcelAPI est un Java API utilisé pour lire, écrire et modifier des feuilles de calcul Excel. Il s’agit d’un open source Java API qui permet aux développeurs Java de lire des feuilles de calcul Excel et de générer dynamiquement des feuilles de calcul Excel. 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.

Au moment de la rédaction, il a un ensemble limité de fonctionnalités. Il prend en charge : la lecture et l’écriture du fichier Excel natif Microsoft (Excel97-2003) au format de fichier XLS uniquement. Il a un support de calcul de formule limité. Il peut manipuler les polices, prendre en charge le formatage des nombres et des dates, modifier les feuilles de calcul existantes, les paramètres régionaux, préserver les graphiques (mais ne permet pas aux développeurs de créer ou de manipuler des graphiques), insérer des images, etc.

Prise en charge limitée 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 d’autres données en plus du graphique). Toutes les informations d’image sont conservées lors de la copie de 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 des feuilles de calcul

Il n’y a pas de 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 à effectuer. Par exemple, en utilisant des boucles, copiez cellule par cellule avec la méthode WritableCell.copyTo(), qui produira une copie complète. Cependant, le format n’est copié que superficiellement, vous devrez donc obtenir le format de 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 gros boulot.

Aucune optimisation

Une autre limitation est que JExcelAPI n’effectue pas d’optimisations pour réduire la taille du fichier, nous ne devrions 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 de API pour l’ajustement automatique des lignes ou des colonnes. Vous devrez écrire du code qui analyse les cellules de chaque colonne, calcule la longueur maximale, puis appelle WritableSheet.setColumnView() et Writable Sheet.setRowView() en conséquence.

Fonctionnalités manquantes

Il y a aussi quelques obstacles supplémentaires : le API ne prend pas en charge les tableaux croisés dynamiques et les listes déroulantes. Il a des options de validation limitées à définir sur les cellules. 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 liées à la protection par mot de passe) ne sont pas pris en charge. Il ne prend pas non plus en charge le tri des données, les données de filtrage automatique, la mise en forme conditionnelle, les objets de dessin, les contrôles et bien d’autres fonctionnalités utiles.

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, y compris la lecture et l’écriture d’un fichier Excel natif Microsoft (le format de fichier Excel97-2003 - XLSX OOXML n’est pas encore pris en charge), le formatage des cellules (formats de nombres, polices, couleurs, bordures, alignements, etc.) , fusionner des cellules, options de mise en page, importer des images, des formes, des plages nommées, créer des commentaires, des en-têtes et des pieds de page, des hyperliens, ajuster automatiquement les lignes et les colonnes, etc.

Prise en charge limitée des graphiques

Il existe quelques limitations connues pour le POI-HSSF API. Par exemple, vous ne pouvez actuellement pas créer de graphiques. Vous pouvez cependant créer un graphique dans Excel, modifier les valeurs des données du graphique à l’aide de HSSF et écrire une nouvelle feuille de calcul. Un autre est le support des tableaux croisés dynamiques, la génération de tableaux croisés dynamiques n’est pas possible.

Calcul de formule

Bien que org.apache.poi.hssf.usermodel de POI prenne en charge les formules, il lui manque un moteur de calcul de formule riche. Il prend en charge les formules contenant des chaînes de références de cellules, des littéraux 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

HSSF API ne prend pas non plus en charge les tableaux croisés dynamiques. Il a des options de validation de données limitées à définir sur les cellules. Il ne prend pas non plus en charge les 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 sur la façon dont Aspose.Cells for Java correspond aux composants open source (mentionnés ci-dessus), bien qu’il ne soit pas difficile de couvrir toutes les fonctionnalités fournies par les produits concernés. Il s’agit simplement d’un aperçu qui est pris à un moment précis et il est tout à fait possible que les fonctionnalités manquantes soient prises en charge lorsque vous lirez le document.

Caractéristique JExcelAPI HSSF de POI Aspose.Cells for Java
Formats de fichiers
Formats de fichiers en lecture et en écriture (XLS, XLT, XLSX, CSV, SpreadsheetML, Tab Delimited, TXT, XML et HTML) Partiellement pris en charge Partiellement pris en charge Prise en charge
Ouvrir le fichier et enregistrer dans un flux Prise en charge
Convertir le fichier Excel en document PDF Prise en charge
Fichiers protégés par mot de passe Prise en charge Prise en charge
Manipuler le contenu de la feuille de calcul
Modifier les propriétés de document des fichiers Excel Prise en charge
Exporter les données de la feuille de calcul vers un tableau Prise en charge
Importer des données à partir d’un ResultSet Prise en charge
Importer des données à partir d’un tableau, collection Prise en charge
Ajouter une copie de la feuille de calcul existante (tout le contenu, y compris les images et les graphiques) Partiellement pris en charge Partiellement pris en charge Prise en charge
Importer des images Prise en charge
Importer des graphiques Prise en charge
Définir un arrière-plan dégradé pour les graphiques à l’aide de API Prise en charge
Protéger la feuille de calcul, y compris le contenu, les objets et les scénarios Partiellement pris en charge Prise en charge Prise en charge
Créer des filtres automatiques à l’aide de API Prise en charge
Fonctions de mise en page (haut, gauche, bas, droite, marges d’en-tête et de pied de page, orientation - portrait ou paysage, mise à l’échelle, taille du papier, zone d’impression, répétition des lignes et des colonnes) Partiellement pris en charge Prise en charge Prise en charge
La page horizontale et verticale traverse le API Prise en charge Prise en charge Prise en charge
Copier et déplacer des feuilles de calcul dans et entre des classeurs Prise en charge Prise en charge
Insertion et suppression de lignes et de colonnes Prise en charge Prise en charge
Ajustement automatique des lignes et des colonnes Prise en charge Prise en charge
Copier des lignes et des colonnes Prise en charge
Tri des données Prise en charge
Tracer les précédents et les personnes à charge Prise en charge
Filtrage automatique Prise en charge
Validation des données (tous types) Partiellement pris en charge Partiellement pris en charge Prise en charge
Importer des formules à partir d’une feuille de calcul de concepteur Partiellement pris en charge Partiellement pris en charge Prise en charge
Définissez des formules complexes via API Prise en charge
Mise en forme conditionnelle Prise en charge Prise en charge
Activation des feuilles et création d’un Cell actif dans le classeur. Prise en charge Prise en charge Prise en charge

|Fonctionnalités avancées|||| | Marqueurs intelligents||| Prise en charge| | Créez des graphiques standard (colonne, barre, ligne, camembert, nuage de points, aire, beignet, radar, surface 3D, bulle, stock, cylindre, cône, pyramide, etc.)||| Prise en charge| | Grille personnalisée API||| Prise en charge| | Paramètres des propriétés du document||| Prise en charge| | Options de protection avancées d’Excel XP||| Prise en charge| | Compléments, VBA, macros||| Prise en charge| | Manipuler des plages nommées| Prise en charge| Prise en charge| Prise en charge| | Tableaux croisés dynamiques||| Prise en charge| | Créer des objets de dessin, des formes et des contrôles communs|| Prise en charge| Prise en charge| |Insérer des contrôles dans des graphiques||| Prise en charge| | Moteur de calcul de formule||| Prise en charge| | Trouver API| Prise en charge| Prise en charge| Prise en charge|