Travailler avec Excel en Java : aperçu des bibliothèques et exemples pratiques
Dans le développement d'entreprise en Java, il est souvent nécessaire de créer, lire et modifier des feuilles de calcul Excel par programmation. Cela peut inclure la génération de rapports, l'importation de données depuis des systèmes externes ou l'exportation de résultats de calculs. Dans cet article, nous examinerons les principales bibliothèques pour travailler avec Excel en Java, leurs caractéristiques, et nous fournirons des exemples de code concrets.
Pourquoi Java et pas Python ?
Bien que notre site s'appelle PythonLib, Java reste l'un des langages les plus populaires pour le développement d'entreprise. De nombreuses entreprises utilisent activement Java pour les applications serveur, et l'intégration avec Excel est une tâche courante. Comprendre comment travailler avec Excel en Java sera utile aussi bien aux développeurs débutants qu'aux développeurs expérimentés.
Principales bibliothèques pour travailler avec Excel en Java
Il existe plusieurs bibliothèques matures, chacune ayant ses propres atouts :
- Apache POI — la bibliothèque la plus populaire et la plus fonctionnelle. Elle prend en charge les formats .xls (HSSF) et .xlsx (XSSF). Elle permet de créer, lire et modifier des fichiers, et prend en charge les formules, les styles et les graphiques.
- JExcelApi (jxl) — une bibliothèque plus légère, qui ne prend en charge que l'ancien format .xls. Elle convient pour des tâches simples, mais n'est plus développée depuis 2009.
- Apache POI + XSSF/SXSSF — des fonctionnalités avancées pour travailler avec de gros fichiers. SXSSF (Streaming) permet de traiter des millions de lignes avec une faible consommation de mémoire.
- Docx4j — une bibliothèque pour travailler avec Office Open XML, pouvant être utilisée pour .xlsx, mais plus souvent utilisée pour Word.
Premiers pas avec Apache POI
Pour ajouter la bibliothèque à un projet Maven, ajoutez les dépendances suivantes dans pom.xml :
<!-- Pour travailler avec .xls (HSSF) --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.5</version></dependency>
<!-- Pour travailler avec .xlsx (XSSF) --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.5</version></dependency>Si vous utilisez Gradle, ajoutez les lignes dans build.gradle :
implementation 'org.apache.poi:poi:5.2.5'implementation 'org.apache.poi:poi-ooxml:5.2.5'Exemple : création d'un fichier Excel avec un tableau
Examinons un exemple simple de création d'un fichier .xlsx avec des données sur les employés.
import org.apache.poi.ss.usermodel.*;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.io.FileOutputStream;import java.io.IOException;
public class ExcelWriter { public static void main(String[] args) { // Créer un nouveau classeur try (Workbook workbook = new XSSFWorkbook()) { // Créer une feuille Sheet sheet = workbook.createSheet("Employés");
// Créer une ligne d'en-tête Row headerRow = sheet.createRow(0); String[] columns = {"ID", "Nom", "Poste", "Salaire"}; for (int i = 0; i < columns.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(columns[i]); // Rendre l'en-tête en gras CellStyle style = workbook.createCellStyle(); Font font = workbook.createFont(); font.setBold(true); style.setFont(font); cell.setCellStyle(style); }
// Remplir avec des données Object[][] data = { {1, "Ivan Ivanov", "Développeur", 150000}, {2, "Petr Petrov", "Analyste", 120000}, {3, "Sidor Sidorov", "Manager", 180000} Aussi dans la bibliothèque
Surveillance API Moesif pour Node.js
Clap — un puissant framework CLI pour Rust
Géolocalisation et cartes en Kotlin : Guide complet d'intégration
Planificateur de tâches PHP : bibliothèque cron‑expression pour un planning flexible