Apache POI - Classes principales
Ce chapitre explique quelques classes et méthodes de l'API Apache POI qui sont essentielles pour travailler sur des fichiers Excel à l'aide de programmes Java.
Classeur
Il s'agit de la super-interface de toutes les classes qui créent ou gèrent des classeurs Excel. Il appartient à laorg.apache.poi.ss.usermodelpaquet. Les deux classes qui implémentent cette interface sont les suivantes -
HSSFWorkbook- Cette classe a des méthodes pour lire et écrire des fichiers Microsoft Excel au format .xls. Il est compatible avec les versions 97–2003 de MS-Office.
XSSFWorkbook- Cette classe a des méthodes pour lire et écrire des fichiers Microsoft Excel et OpenOffice xml au format .xls ou .xlsx. Il est compatible avec les versions 2007 ou ultérieures de MS-Office.
HSSFWorkbook
C'est une classe de haut niveau sous le org.apache.poi.hssf.usermodelpaquet. Il met en œuvre leWorkbookinterface et est utilisé pour les fichiers Excel au format .xls. Vous trouverez ci-dessous quelques-unes des méthodes et des constructeurs de cette classe.
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | HSSFWorkbook() Crée un nouvel objet HSSFWorkbook à partir de zéro. |
2 | HSSFWorkbook(DirectoryNode directory, boolean preserveNodes) Crée un nouvel objet HSSFWworkbook dans un répertoire spécifique. |
3 | HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes) Étant donné un objet POIFSFileSystem et un répertoire spécifique qu'il contient, il crée un objet SSFWorkbook pour lire un classeur spécifié. |
4 | HSSFWorkbook(java.io.InputStream s) Crée un nouvel objet HSSFWorkbook à l'aide d'un flux d'entrée. |
5 | HSSFWorkbook(java.io.InputStream s, boolean preserveNodes) Construit un système de fichiers POI autour de votre flux d'entrée. |
6 | HSSFWorkbook(POIFSFileSystem fs) Construit un nouvel objet HSSFWorkbook à l'aide d'un objet POIFSFileSystem. |
sept | HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes) Étant donné un objet POIFSFileSystem, il crée un nouvel objet HSSFWorkbook pour lire un classeur spécifié. |
Les paramètres fréquemment utilisés à l'intérieur de ces constructeurs sont -
directory - C'est le répertoire du système de fichiers POI à partir duquel traiter.
fs - C'est le système de fichiers POI qui contient le flux du classeur.
preservenodes- C'est un paramètre facultatif qui décide s'il faut conserver d'autres nœuds comme des macros. Il consomme beaucoup de mémoire car il stocke tout le POIFileSystem en mémoire (si défini).
Note- La classe HSSFWorkbook contient un certain nombre de méthodes; cependant, ils ne sont compatibles qu'avec le format xls. Dans ce didacticiel, l'accent est mis sur la dernière version des formats de fichiers Excel. Par conséquent, les méthodes de classe de HSSFWorkbook ne sont pas répertoriées ici. Si vous avez besoin de ces méthodes de classe, reportez-vous à l'API de classe POI-HSSFWorkbook à l'adressehttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.
XSSFWorkbook
Il s'agit d'une classe utilisée pour représenter les formats de fichiers Excel de haut et de bas niveau. Il appartient à laorg.apache.xssf.usemodel package et implémente le Workbookinterface. Vous trouverez ci-dessous les méthodes et les constructeurs de cette classe.
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | XSSFWorkbook() Crée un nouvel objet XSSFworkbook à partir de zéro. |
2 | XSSFWorkbook(java.io.File file) Construit un objet XSSFWorkbook à partir d'un fichier donné. |
3 | XSSFWorkbook(java.io.InputStream is) Construit un objet XSSFWorkbook, en mettant en mémoire tampon tout le flux d'entrée en mémoire, puis en ouvrant un objet OPCPackage pour celui-ci. |
4 | XSSFWorkbook(java.lang.String path) Construit un objet XSSFWorkbook en fonction du chemin complet d'un fichier. |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | createSheet() Crée une feuille XSSFS pour ce classeur, l'ajoute aux feuilles et renvoie la représentation de haut niveau. |
2 | createSheet(java.lang.String sheetname) Crée une nouvelle feuille pour ce classeur et renvoie la représentation de haut niveau. |
3 | createFont() Crée une nouvelle police et l'ajoute à la table de polices du classeur. |
4 | createCellStyle() Crée un nouveau XSSFCellStyle et l'ajoute à la table de styles du classeur. |
5 | createFont() Crée une nouvelle police et l'ajoute à la table de polices du classeur. |
6 | setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow) Définit la zone d'impression d'une feuille donnée selon les paramètres spécifiés. |
Pour les autres méthodes de cette classe, reportez-vous au document API complet à l'adresse: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. pour la liste complète des méthodes.
Feuille
La feuille est une interface sous le org.apache.poi.ss.usermodelpackage et c'est une super-interface de toutes les classes qui créent des feuilles de calcul de haut ou bas niveau avec des noms spécifiques. Le type de feuille de calcul le plus courant est la feuille de calcul, qui est représentée sous la forme d'une grille de cellules.
Feuille HSSF
Ceci est une classe sous le org.apache.poi.hssf.usermodelpaquet. Il peut créer des feuilles de calcul Excel et il permet de formater le style de feuille et les données de la feuille.
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | HSSFSheet(HSSFWorkbook workbook) Crée une nouvelle feuille HSSFS appelée par HSSFWorkbook pour créer une feuille à partir de zéro. |
2 | HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) Crée une feuille HSSFS représentant l'objet feuille donné. |
XSSFSheet
Il s'agit d'une classe qui représente une représentation de haut niveau de la feuille de calcul Excel. C'est sousorg.apache.poi.hssf.usermodel paquet.
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | XSSFSheet() Crée une nouvelle feuille XSSFS - appelée par XSSFWorkbook pour créer une feuille à partir de zéro. |
2 | XSSFSheet(PackagePart part, PackageRelationship rel) Crée une feuille XSSFS représentant la partie et la relation de package données. |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | addMergedRegion(CellRangeAddress region) Ajoute une région fusionnée de cellules (par conséquent, ces cellules n'en forment qu'une). |
2 | autoSizeColumn(int column) Ajuste la largeur de la colonne en fonction du contenu. |
3 | iterator() Cette méthode est un alias pour rowIterator () pour autoriser les boucles foreach |
4 | addHyperlink(XSSFHyperlink hyperlink) Enregistre un hyperlien dans la collection d'hyperliens de cette feuille |
Pour les autres méthodes de cette classe, reportez-vous à l'API complète à l'adresse: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.
Rangée
Ceci est une interface sous le org.apache.poi.ss.usermodelpaquet. Il est utilisé pour la représentation de haut niveau d'une ligne d'une feuille de calcul. C'est une super-interface de toutes les classes qui représentent des lignes dans la bibliothèque POI.
XSSFRow
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il implémente l'interface Row, donc il peut créer des lignes dans une feuille de calcul. Vous trouverez ci-dessous les méthodes et les constructeurs de cette classe.
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | createCell(int columnIndex) Crée de nouvelles cellules dans la ligne et la renvoie. |
2 | setHeight(short height) Définit la hauteur en unités courtes. |
Pour les autres méthodes de cette classe, suivez le lien donné https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html
Cellule
Ceci est une interface sous le org.apache.poi.ss.usermodelpaquet. C'est une super-interface de toutes les classes qui représentent des cellules dans les lignes d'une feuille de calcul.
Les cellules peuvent prendre divers attributs tels que vide, numérique, date, erreur, etc. Les cellules doivent avoir leurs propres nombres (basés sur 0) avant d'être ajoutées à une ligne.
XSSFCell
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il implémente l'interface Cell. Il s'agit d'une représentation de haut niveau des cellules dans les lignes d'une feuille de calcul.
Résumé du champ
Vous trouverez ci-dessous certains des champs de la classe XSSFCell avec leur description.
N ° Sr. | Type de cellule et description |
---|---|
1 | CELL_TYPE_BLANK Représente la cellule vide |
2 | CELL_TYPE_BOOLEAN Représente la cellule booléenne (vrai ou faux) |
3 | CELL_TYPE_ERROR Représente la valeur d'erreur sur une cellule |
4 | CELL_TYPE_FORMULA Représente le résultat de la formule sur une cellule |
5 | CELL_TYPE_NUMERIC Représente des données numériques sur une cellule |
6 | CELL_TYPE_STRING Représente une chaîne (texte) sur une cellule |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | setCellStyle(CellStyle style) Définit le style de la cellule. |
2 | setCellType(int cellType) Définit le type de cellules (numérique, formule ou chaîne). |
3 | setCellValue(boolean value) Définit une valeur booléenne pour la cellule. |
4 | setCellValue(java.util.Calendar value) Définit une valeur de date pour la cellule. |
5 | setCellValue(double value) Définit une valeur numérique pour la cellule. |
6 | setCellValue(java.lang.String str) Définit une valeur de chaîne pour la cellule. |
sept | setHyperlink(Hyperlink hyperlink) Attribue un lien hypertexte à cette cellule. |
Pour les méthodes et champs restants de cette classe, visitez le lien suivant: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html
XSSFCellStyle
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il fournira des informations éventuelles concernant le format du contenu dans une cellule d'une feuille de calcul. Il fournit également des options pour modifier ce format. Il implémente l'interface CellStyle.
Résumé du champ
Le tableau suivant répertorie quelques champs hérités de l'interface CellStyle.
N ° Sr. | Champ et description |
---|---|
1 | ALIGN_CENTER Centrer aligner le contenu de la cellule |
2 | ALIGN_CENTER_SELECTION Alignement horizontal de sélection centrale |
3 | ALIGN_FILL La cellule s'adapte à la taille du contenu |
4 | ALIGN_JUSTIFY Ajuster le contenu de la cellule à sa largeur |
5 | ALIGN_LEFT Aligner à gauche le contenu de la cellule |
6 | ALIGN_RIGHT Alignez à droite le contenu de la cellule |
sept | BORDER_DASH_DOT Style de cellule avec tiret et point |
8 | BORDER_DOTTED Style de cellule avec bordure en pointillé |
9 | BORDER_DASHED Style de cellule avec bordure en pointillés |
dix | BORDER_THICK Style de cellule avec bordure épaisse |
11 | BORDER_THIN Style de cellule avec bordure fine |
12 | VERTICAL_BOTTOM Aligner le contenu de la cellule verticalement en bas |
13 | VERTICAL_CENTER Aligner le centre vertical du contenu de la cellule |
15 | VERTICAL_JUSTIFY Aligner et justifier le contenu de la cellule verticalement |
16 | VERTICAL_TOP Alignement vertical aligné en haut |
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme) Crée un style de cellule à partir des pièces fournies |
2 | XSSFCellStyle(StylesTable stylesSource) Crée un style de cellule vide |
Méthodes de classe
S. Non | Méthode et description |
---|---|
1 | setAlignment(short align) Définit le type d'alignement horizontal de la cellule |
2 | setBorderBottom(short border) Définit le type de bordure pour la bordure inférieure de la cellule |
3 | setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color) Définit la couleur de la bordure sélectionnée |
4 | setBorderLeft(Short border) Définit le type de bordure pour la bordure gauche de la cellule |
5 | setBorderRight(short border) Définit le type de bordure pour la bordure droite de la cellule |
6 | setBorderTop(short border) Définit le type de bordure pour la bordure supérieure de la cellule |
sept | setFillBackgroundColor(XSSFColor color) Définit la couleur de remplissage d'arrière-plan représentée comme une valeur XSSFColor. |
8 | setFillForegroundColor(XSSFColor color) Définit la couleur de remplissage de premier plan représentée comme une valeur XSSFColor. |
9 | setFillPattern(short fp) Spécifie les informations de remplissage de cellule pour les motifs et les remplissages de cellule de couleur unie. |
dix | setFont(Font font) Définit la police de ce style. |
11 | setRotation(short rotation) Définit le degré de rotation du texte dans la cellule. |
12 | setVerticalAlignment(short align) Définit le type d'alignement vertical de la cellule. |
Pour les autres méthodes et champs de cette classe, passez par le lien suivant: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html
HSSFCouleur
Ceci est une classe sous le org.apache.poi.hssf.utilpaquet. Il fournit différentes couleurs sous forme de classes imbriquées. Habituellement, ces classes imbriquées sont représentées à l'aide de leurs propres index. Il implémente l'interface Color.
Classes imbriquées
Toutes les classes imbriquées de cette classe sont statiques et chaque classe a son index. Ces classes de couleurs imbriquées sont utilisées pour la mise en forme des cellules telles que le contenu de la cellule, la bordure, le premier plan et l'arrière-plan. Voici quelques-unes des classes imbriquées.
N ° Sr. | Noms de classe (couleurs) |
---|---|
1 | HSSFColor.AQUA |
2 | HSSFColor.AUTOMATIQUE |
3 | HSSFCouleur.BLACK |
4 | HSSFColor.BLUE |
5 | HSSFColor.BRIGHT_GREEN |
6 | HSSFColor.BRIGHT_GRAY |
sept | HSSFCouleur.CORAL |
8 | HSSFColor.DARK_BLUE |
9 | HSSFColor.DARK_GREEN |
dix | HSSFColor.SKY_BLUE |
11 | HSSFColor.WHITE |
12 | HSSFCouleur.JAUNE |
Méthodes de classe
Une seule méthode de cette classe est importante et qui est utilisée pour obtenir la valeur d'index.
N ° Sr. | Méthode et description |
---|---|
1 | getIndex() Cette méthode est utilisée pour obtenir la valeur d'index d'une classe imbriquée. |
Pour les méthodes restantes et les classes imbriquées, reportez-vous au lien suivant: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html
XSSFColor
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il est utilisé pour représenter la couleur dans une feuille de calcul. Il implémente l'interface Color. Vous trouverez ci-dessous quelques-unes de ses méthodes et constructeurs.
Constructeurs de classe
N ° Sr. | Constructeur et description |
---|---|
1 | XSSFColor() Crée une nouvelle instance de XSSFColor. |
2 | XSSFColor(byte[] rgb) Crée une nouvelle instance de XSSFColor à l'aide de RVB. |
3 | XSSFColor(java.awt.Color clr) Crée une nouvelle instance de XSSFColor à l'aide de la classe Color du package awt. |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | setAuto(boolean auto) Définit une valeur booléenne pour indiquer que ctColor est automatique et que le système ctColor est dépendant. |
2 | setIndexed(int indexed) Définit la valeur ctColor indexée comme système ctColor. |
Pour les autres méthodes, visitez le lien suivant: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html
XSSFFont
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il implémente l'interface de police et peut donc gérer différentes polices dans un classeur.
Constructeur de classe
N ° Sr. | Constructeur et description |
---|---|
1 | XSSFFont() Crée une nouvelle instance XSSFont. |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | setBold(boolean bold) Définit une valeur booléenne pour l'attribut 'bold'. |
2 | setColor(short color) Définit la couleur indexée de la police. |
3 | setColor(XSSFColor color) Définit la couleur de la police dans la valeur de couleur RVB Alpha standard. |
4 | setFontHeight(short height) Définit la hauteur de la police en points. |
5 | setFontName(java.lang.String name) Définit le nom de la police. |
6 | setItalic(boolean italic) Définit une valeur booléenne pour la propriété 'italic'. |
Pour les méthodes restantes, passez par le lien suivant: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html
XSSFHyperlink
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il implémente l'interface Hyperlink. Il est utilisé pour définir un lien hypertexte vers le contenu des cellules d'une feuille de calcul.
Des champs
Les champs de cette classe sont les suivants. Ici, les champs désignent les types d'hyperliens utilisés.
N ° Sr. | Champ et description |
---|---|
1 | LINK_DOCUMENT Utilisé pour lier tout autre document |
2 | LINK_EMAIL Utilisé pour lier un e-mail |
3 | LINK_FILE Utilisé pour lier tout autre fichier dans n'importe quel format |
4 | LINK_URL Utilisé pour lier une URL Web |
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | setAddress(java.lang.String address) Adresse du lien hypertexte. |
Pour les autres méthodes, visitez le lien suivant: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html
XSSFCreationHelper
Ceci est une classe sous le org.apache.poi.xssf.usermodelpaquet. Il implémente l'interface CreationHelper. Il est utilisé comme classe de support pour l'évaluation des formules et la configuration des hyperliens.
Méthodes de classe
N ° Sr. | Méthode et description |
---|---|
1 | createFormulaEvaluator() Crée une instance XSSFFormulaEvaluator, l'objet qui évalue les cellules de formule. |
2 | createHyperlink(int type) Creates a new XSSFHyperlink. |
For the remaining methods, refer the following link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html
XSSFPrintSetup
This is a class under the org.apache.poi.xsssf.usermodel package. It implements the PrintSetup interface. It is used to set print page size, area, options, and settings.
Class Methods
Sr.No. | Method & Description |
---|---|
1 | setLandscape(boolean ls) Sets a boolean value to allow or block landscape printing. |
2 | setLeftToRight(boolean ltor) Sets whether to go left to right or top down in ordering while printing. |
3 | setPaperSize(short size) Sets the paper size. |
For the remaining methods, visit the following link: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html