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