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

FormaatExtensieLezenSchrijven
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.


Aan de slag