Introduction

Aspose.Cells FOSS for Java est une bibliothèque Java 17 open‑source qui permet aux développeurs
de créer, charger, modifier et enregistrer des classeurs Excel .xlsx entièrement sur la JVM — avec
aucune installation de Microsoft Office, aucune bibliothèque native, et aucune dépendance runtime commerciale Aspose
dépendance. L’API publique se trouve dans le package com.aspose.cells_foss et est
publiée sous licence MIT, ce qui la rend adaptée aux projets personnels, open‑source, et
aux projets commerciaux également.

La bibliothèque est livrée sous forme d’un artefact Maven standard et couvre le modèle d’objet de feuille de calcul OOXML de base : classeurs, feuilles de calcul, cellules, styles et collections. Elle est construite avec Maven 3.9+ et cible Java 17+, s’intégrant naturellement à tout pipeline de construction Java moderne.

Ajoutez la dépendance à votre pom.xml et vous êtes prêt à générer ou à traiter des classeurs Excel à partir d’un servlet, d’un job batch, d’une fonction Lambda ou de tout autre contexte serveur Java.


Fonctionnalités clés

Gestion des classeurs et des feuilles de calcul

La classe Workbook est le point d’entrée de toutes les opérations de feuille de calcul.
Elle implémente
AutoCloseable afin de s’intégrer proprement au modèle try-with-resources.
Vous pouvez
créer de nouveaux classeurs, charger des fichiers .xlsx existants, ajouter et supprimer des feuilles de calcul, renommer
les feuilles avec setName(), définir la feuille active et contrôler la visibilité des onglets.

import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;

try (Workbook workbook = new Workbook()) {
    WorksheetCollection sheets = workbook.getWorksheets();
    Worksheet sheet = sheets.get(0);
    sheet.setName("Sales");
    workbook.save("sales.xlsx");
}

Valeurs de cellules et formules

La classe Cell prend en charge le stockage de valeurs typées via putValue() pour les chaînes, les entiers, les doubles, les booléens et les valeurs LocalDateTime. Les chaînes de formule sont stockées avec setFormula() et seront recalculées par Excel à l’ouverture. Le type de valeur est exposé via CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME ou FORMULA.

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(12500.75);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    workbook.save("values.xlsx");
}

Mise en forme des cellules et styles

La mise en forme est appliquée via la classe Style, récupérée depuis cell.getStyle() et réécrite avec cell.setStyle(). Vous pouvez configurer le gras et la couleur sur le Font, appliquer HorizontalAlignment, et définir des chaînes de format numérique personnalisées via style.setCustom(). La hauteur des lignes et la largeur des colonnes sont contrôlées via getRows().get(n).setHeight() et getColumns().get(n).setWidth().

import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell cell = sheet.getCells().get("B1");
    cell.putValue(9999.5);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    workbook.save("styled.xlsx");
}

Validation des données et mise en forme conditionnelle

Les règles de validation des données sont ajoutées via sheet.getValidations().add(). Chaque objet Validation contient un ValidationType (par exemple, WHOLE_NUMBER), un OperatorType (par exemple, BETWEEN), et des chaînes de formule pour les limites. Le formatage conditionnel est ajouté via sheet.getConditionalFormattings().add(), qui renvoie un FormatConditionCollection où vous spécifiez les plages de cellules et les conditions.

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
    Validation validation = sheet.getValidations().get(vi);
    validation.setType(ValidationType.WHOLE_NUMBER);
    validation.setOperator(OperatorType.BETWEEN);
    validation.setFormula1("1");
    validation.setFormula2("100");
    workbook.save("validated.xlsx");
}

AutoFilters et Mise en page

Les AutoFilters sont configurés en appelant ws.getAutoFilter().setRange() avec une chaîne de plage en notation A1. L’objet PageSetup contrôle la taille du papier, l’orientation et les paramètres d’ajustement à la page pour une sortie prête à imprimer. La protection de la feuille de calcul est appliquée via protect() avec un WorksheetProtectionModel.


Démarrage rapide

Ajoutez la dépendance Maven à votre pom.xml:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Créer un classeur, remplir les cellules, appliquer le formatage et enregistrer :

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

public class QuickStart {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            sheet.setName("Report");

            sheet.getCells().get("A1").putValue("Revenue");
            Cell cell = sheet.getCells().get("B1");
            cell.putValue(12500.75);

            Style style = cell.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            cell.setStyle(style);

            sheet.getCells().getRows().get(0).setHeight(22.0);
            sheet.getCells().getColumns().get(1).setWidth(14.5);

            workbook.save("report.xlsx");
        }
    }
}

Formats pris en charge

FormatExtensionLireÉcrire
Excel Open XML.xlsx

L’enregistrement est actuellement limité à .xlsx. La bibliothèque stocke et transmet les formules, mais ce n’est pas un moteur complet de calcul de feuilles de calcul.


Open Source et licences

Aspose.Cells FOSS for Java est publié sous licence MIT. Vous êtes libre de l’utiliser, le modifier et le distribuer dans des projets personnels, open source et commerciaux sans restriction. Le code source est disponible à github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Premiers pas