1. Des produits
  2.   Tableur
  3.   Java
  4.   Apache POI HSSF

Apache POI HSSF

 
 

Bibliothèque Java pour les fichiers binaires Microsoft Excel

L'API Java Open Source permet de lire, d'écrire et de convertir des feuilles de calcul Excel XLS.

Apache POI HSSF est une implémentation Java pure du format de fichier Excel '97 (-2007) (BIFF8). L'API open source gratuite fournit des fonctionnalités pour créer, lire, modifier et écrire des feuilles de calcul Excel XLS. Les développeurs intéressés par la simple lecture des données de feuille de calcul peuvent utiliser l'API de modèle d'événement pour répondre à leurs besoins. Afin de modifier les données de la feuille de calcul, l'API du modèle utilisateur peut être utilisée. Il est important de savoir que le système de modèle utilisateur a une empreinte mémoire plus élevée que le modèle utilisateur d'événement de bas niveau, mais a l'avantage majeur d'être beaucoup plus simple à utiliser.

Apache POI HSSF offre une excellente prise en charge des fonctionnalités Excel supplémentaires telles que l'utilisation de feuilles et de formules, la création de styles de cellule en remplissant les couleurs et les bordures, les polices, les en-têtes et les pieds de page, les formes, les validations de données, les images, les hyperliens et bien d'autres.

Previous Next

Premiers pas avec Apache POI HSSF

Tout d'abord, vous devez avoir le kit de développement Java (JDK) installé sur votre système. Si vous l'avez déjà, rendez-vous sur la page de téléchargement d'Apache POI pour obtenir la dernière version stable dans une archive. Extrayez le contenu du fichier ZIP dans n'importe quel répertoire à partir duquel les bibliothèques requises peuvent être liées à votre programme Java. C'est tout!

Référencer Apache POI dans votre projet Java basé sur Maven est encore plus simple. Tout ce dont vous avez besoin est d'ajouter la dépendance suivante dans votre pom.xml et de laisser votre IDE récupérer et référencer les fichiers Apache POI Jar.

Dépendance Apache POI Maven

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi-scratchpad</artifactId>
  <version>4.0.0</version>
</dependency>

Créer un classeur Excel et ajouter des feuilles via les API Java

La bibliothèque open source Apache POI HSSF permet aux développeurs de logiciels de créer un nouveau classeur Microsoft Excel au format de fichier XLS. Les développeurs peuvent facilement ajouter de nouvelles feuilles de calcul à la collection à partir d'une instance existante de Workbook. 

Créer un nouveau fichier XLS

// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXls.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);

API Java pour lire et écrire dans un fichier Excel existant 

Apache POI HSSF permet aux développeurs de logiciels d'accéder et de lire les données du classeur Microsoft Excel existant. La lecture dans un fichier est très simple, créez d'abord une instance de classeur à partir d'une feuille de calcul Excel et accédez à la feuille souhaitée. Incrémentez ensuite le numéro de ligne et parcourez toutes les cellules d'une ligne. Répétez ces étapes jusqu'à ce que toutes les données soient lues. Apache POI HSSF fournit également des fonctionnalités permettant de modifier un fichier Excel existant.

Lire le contenu de la cellule via Java

// open xls file
InputStream inputStream = new FileInputStream("document.xls");
Workbook workbook = WorkbookFactory.create(inputStream);
// get sheet
Sheet sheet = workbook.getSheetAt(0);
// get row
Row row = sheet.getRow(1);
// get cell
Cell cell = row.getCell(1);
// display data
System.out.println(cell);

Dessiner des formes et ajouter des images à une feuille de calcul Excel

Apache POI-HSSF fournit des fonctionnalités permettant de dessiner des formes dans une feuille de calcul Excel. Il prend en charge le dessin de formes à l'aide des outils de dessin de Microsoft Office. Dessinez diverses formes telles que ovale, ligne, rectangle et définissez tout autre style de forme. Dans Apache POI, les images font partie du dessin, prenant en charge les types d'images PNG, JPG et DIB pour le moment.

Dessiner un rectangle en XLS via Java

// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("DrawShape.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// create rectangle shape
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 254, (short) 1, 0, (short) 1, 0);
HSSFSimpleShape shape = patriarch.createSimpleShape(a);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
// save file
workbook.write(outputStream);

Gestion des polices et fusion des cellules des feuilles de calcul XLS

Apache POI-HSSF fournit des méthodes permettant aux programmeurs Java de gérer les polices dans les feuilles de calcul Excel. Nous pouvons créer la police, définir la couleur, définir la taille, etc. La police est une interface qui fournit des méthodes pour gérer la police. Apache POI-HSSF permet également aux développeurs de fusionner des cellules en une seule cellule. Pour ce faire, il fournit des méthodes qui prennent les index de cellule comme argument et fusionnent les cellules en une seule grande cellule.

Définir la police pour la feuille de calcul XLS via Java

// create a new XLS file
OutputStream outfile = new FileOutputStream("SetFont.xls");
Workbook wb = new HSSFWorkbook();
// create a new sheet
Sheet sheet = wb.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set style
CellStyle style = wb.createCellStyle();
// set text
cell.setCellValue("File Format Developer Guide");
// set font settings
Font font = wb.createFont();
font.setFontHeightInPoints((short) 14);
font.setFontName("Arial");
font.setItalic(true);
font.setBold(true);
// apply font
style.setFont(font);
cell.setCellStyle(style);
// save
wb.write(outfile);
 Français