Introduction
La classe Cell est l’unité fondamentale dans Aspose.Cells FOSS for Java. Elle stocke des valeurs typées, expose leur type d’exécution via l’énumération CellValueType, conserve les chaînes de formules pour qu’Excel les évalue, et fournit une représentation chaîne uniforme via getStringValue(). Ce post examine en détail l’API de cellule de base avec des exemples vérifiés.
Tous les exemples de code ci-dessous utilisent la dépendance Maven :
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Stockage des valeurs typées avec putValue()
Cell.putValue() accepte six types Java : String, int, double, boolean,
LocalDateTime et Object. Chaque appel définit la valeur interne de la cellule et détermine
le CellValueType renvoyé par cell.getType().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import java.time.LocalDateTime;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
assert a1.getType() == CellValueType.STRING;
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.75);
assert b1.getType() == CellValueType.NUMBER;
Cell c1 = sheet.getCells().get("C1");
c1.putValue(true);
assert c1.getType() == CellValueType.BOOLEAN;
Cell d1 = sheet.getCells().get("D1");
d1.putValue(LocalDateTime.of(2026, 4, 27, 9, 0, 0));
assert d1.getType() == CellValueType.DATE_TIME;
workbook.save("typed.xlsx");
}
Les cellules vides renvoient CellValueType.BLANK de getType(). Les valeurs entières stockées avecputValue(int) effectuent un aller‑retour via la sérialisation XLSX sans gagner de point décimal —getStringValue() renvoie "123" et non "123.0".
Inspection des valeurs à l’exécution
cell.getValue() renvoie la valeur brute stockée sous forme de Object. cell.getStringValue() renvoie une représentation de chaîne indépendante de la locale, adaptée au traitement en aval ou à l’affichage. Le branchement sur CellValueType est le modèle recommandé pour l’extraction de valeurs sécurisée au niveau du type :
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);
sheet.getCells().get("A1").putValue("Hello");
sheet.getCells().get("B1").putValue(123);
sheet.getCells().get("C1").putValue(true);
sheet.getCells().get("D1").putValue(12.5d);
sheet.getCells().get("G1").setFormula("=B1*2");
Cell b1 = sheet.getCells().get("B1");
if (b1.getType() == CellValueType.NUMBER) {
System.out.println("Number: " + b1.getStringValue());
}
workbook.save("inspect.xlsx");
}
Stockage de formules
Les chaînes de formule sont stockées avec cell.setFormula(). La chaîne de formule stockée commence
avec = et suit la syntaxe standard des formules Excel. La méthode getType() renvoie
CellValueType.FORMULA pour les cellules de formule. Aspose.Cells FOSS for Java stocke et
effectue le round‑trip des formules dans XLSX ; la formule est recalculée 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 b1 = sheet.getCells().get("B1");
b1.putValue(100.0);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
assert c1.getType() == CellValueType.FORMULA;
workbook.save("formulas.xlsx");
}
XLSX Fidélité du cycle aller‑retour
Toutes les valeurs typées sont conservées lors de la sérialisation XLSX et du rechargement. Le chargement d’un
fichier .xlsx existant utilise new Workbook(path) ou new Workbook(path, options) avec
LoadOptions pour activer le mode de réparation. Après le rechargement, getType() et getStringValue()
renvoient les mêmes valeurs qu’au moment de l’écriture.
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
LoadOptions options = new LoadOptions();
options.setStrictMode(false);
options.setTryRepairPackage(true);
options.setTryRepairXml(true);
try (Workbook workbook = new Workbook("input.xlsx", options)) {
if (workbook.getLoadDiagnostics().hasRepairs()) {
for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
System.out.println(issue.getMessage());
}
}
Worksheet sheet = workbook.getWorksheets().get(0);
System.out.println(sheet.getCells().get("A1").getStringValue());
workbook.save("output.xlsx");
}
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
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 sur github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.