Introduction
Aspose.Cells FOSS for Java fournit un ensemble complet de fonctionnalités de feuille de calcul
pour les applications Java 17. Publié sous licence MIT et distribué en tant qu’artifact Maven standard,
la bibliothèque couvre tout, de la création de classeur de base aux valeurs de cellules typées,
au formatage riche, à la validation des données et AutoFilter — le tout
sans dépendance à Microsoft Office.
Ce post parcourt les principales zones de fonctionnalités avec des exemples de code ciblés tirés de
l’interface API vérifiée. Tous les noms de classes et de méthodes affichés ci‑dessous existent dans la bibliothèque
et sont disponibles dans la version 1.0.0.
Fonctionnalités clés
Gestion des classeurs et des feuilles de calcul
La classe Workbook implémente AutoCloseable afin de s’intégrer proprement au modèle Java try-with-resources. Vous pouvez créer un classeur vierge, charger un fichier .xlsx existant, renommer les feuilles de calcul, ajouter ou supprimer des feuilles, définir la feuille active, et
contrôler la visibilité des onglets.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
Valeurs de cellules saisies et formules
La classe Cell accepte des valeurs typées via putValue() pour String, int, double,
boolean et LocalDateTime. La méthode getType() renvoie une valeur d’énumération CellValueType
— STRING, NUMBER, BOOLEAN, DATE_TIME ou FORMULA — ce qui facilite le
branchement selon le type de valeur sans analyser les chaînes. Les chaînes de formule sont stockées avec
setFormula() et seront recalculées par Excel à l’ouverture.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
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(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
Mise en forme des cellules et styles
La mise en forme est appliquée via l’objet Style récupéré à partir de cell.getStyle() et réécrit avec cell.setStyle(). Le sous‑objet Font expose setBold() et setColor(). HorizontalAlignment contrôle l’alignement du texte — LEFT, CENTER ou RIGHT. Les formats numériques personnalisés utilisent les chaînes de format Excel via style.setCustom(). La hauteur des lignes et la largeur des colonnes sont ajustées via getRows().get(n).setHeight() et getColumns().get(n).setWidth().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
Validation des données
Les règles de validation des données sont ajoutées via sheet.getValidations().add(). Chaque objet Validation prend un ValidationType (par ex. WHOLE_NUMBER, DECIMAL, LIST) et un OperatorType (par ex. BETWEEN, GREATER_THAN). Les limites de formule sont stockées sous forme de chaînes via setFormula1() et setFormula2().
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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");
}
Filtre automatique
Les AutoFilters permettent aux utilisateurs finaux de filtrer les données dans Excel de manière interactive sans aucune configuration supplémentaire.
Appelez ws.getAutoFilter().setRange() avec une plage en notation A1 pour
activer la ligne d’en-tête du filtre.
Des colonnes de filtre supplémentaires et des critères personnalisés peuvent être
définis via FilterColumn et AutoFilterCustomFilter.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
Mise en page et protection de la feuille de calcul
La classe PageSetup contrôle la taille du papier, l’orientation de la page et les paramètres d’ajustement à la page pour la sortie prête à imprimer. La protection de la feuille de calcul est appliquée via protect() avec un WorksheetProtectionModel, permettant à des cellules spécifiques de rester modifiables tout en verrouillant le reste. Les hyperliens sont gérés via HyperlinkCollection.
Démarrage rapide
Ajoutez la dépendance à votre pom.xml :
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Créez un classeur avec toutes les principales fonctionnalités en moins de 20 lignes :
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("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
La sauvegarde est actuellement limitée à .xlsx. La bibliothèque stocke et effectue le round‑trip des formules, mais ne fonctionne pas comme 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, de le modifier et de 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.