Inleiding
De Cell‑klasse is de fundamentele eenheid in Aspose.Cells FOSS voor Java. Het slaat getypeerde waarden op, maakt hun runtime‑type bekend via de CellValueType‑enum, bewaart formule‑strings zodat Excel ze kan evalueren, en biedt een uniforme stringrepresentatie via getStringValue(). Deze post onderzoekt de kern‑cel‑API in detail met geverifieerde voorbeelden.
Alle codevoorbeelden hieronder gebruiken de Maven-dependency:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Core Cell API
Getypte waarden opslaan met putValue()
Cell.putValue() accepteert zes Java-typen: String, int, double, boolean,
LocalDateTime en Object. Elke aanroep stelt de interne waarde van de cel in en bepaalt
de CellValueType die wordt geretourneerd door 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");
}
Lege cellen geven CellValueType.BLANK terug van getType(). Gehele getallen die zijn opgeslagen met putValue(int) maken een round‑trip door XLSX‑serialisatie zonder een decimale punt te krijgen — getStringValue() geeft "123" terug, niet "123.0".
Waarden inspecteren tijdens runtime
cell.getValue() retourneert de ruwe opgeslagen waarde als Object. cell.getStringValue() retourneert een locale‑onafhankelijke tekenreeksrepresentatie die geschikt is voor downstream‑verwerking of weergave. Branching op CellValueType is het aanbevolen patroon voor type‑veilige waarde‑extractie:
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");
}
Formuleopslag
Formule‑strings worden opgeslagen met cell.setFormula(). De opgeslagen formule‑string begint
met = en volgt de standaard Excel‑formulesyntaxis. De getType()‑methode retourneert
CellValueType.FORMULA voor formulecellen. Aspose.Cells FOSS for Java slaat en
round‑trips formules in XLSX; de formule wordt bij het openen opnieuw berekend door Excel.
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 Rondreisgetrouwheid
Alle getypte waarden blijven behouden bij XLSX-serialisatie en opnieuw laden. Laden van een
bestaande .xlsx-bestand gebruikt new Workbook(path) of new Workbook(path, options) met
LoadOptions om reparatiemodus in te schakelen. Na het opnieuw laden, getType() en getStringValue()
geven dezelfde waarden terug als op het moment van schrijven.
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");
}
Ondersteunde formaten
| Formaat | Extensie | Lezen | Schrijven |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Open source & licensering
Aspose.Cells FOSS for Java is uitgebracht onder de MIT-licentie. U bent vrij om het te gebruiken, wijzigen, en te distribueren in persoonlijke, open‑source en commerciële projecten zonder beperkingen. De broncode is beschikbaar op github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.