Introduktion

Klassen Cell er den grundlæggende enhed i Aspose.Cells FOSS for Java. Den gemmer typede værdier, eksponerer deres køretidstype gennem CellValueType-enum’en, bevarer formelstrenge, som Excel kan evaluere, og leverer en ensartet strengrepræsentation via getStringValue(). Dette indlæg undersøger den centrale celle‑API i detaljer med verificerede eksempler.

Alle kodeeksempler nedenfor bruger Maven-afhængigheden:

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

Core Cell API

Lagring af typede værdier med putValue()

Cell.putValue() accepterer seks Java-typer: String, int, double, boolean, LocalDateTime og Object. Hvert kald sætter cellens interne værdi og bestemmer CellValueType returneret af 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");
}

Tomme celler returnerer CellValueType.BLANK fra getType(). Heltalsværdier gemt med
putValue(int) round‑trip gennem XLSX‑serialisering uden at få et decimalpunkt —
getStringValue() returnerer "123", ikke "123.0".

Inspektion af værdier ved kørselstid

cell.getValue() returnerer den rå lagrede værdi som Object. cell.getStringValue() returnerer en lokal‑uafhængig strengrepræsentation, der er egnet til efterfølgende behandling eller visning. At forgrene på CellValueType er det anbefalede mønster for typesikker værdihentning:

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");
}

Formelopbevaring

Formelstrenge gemmes med cell.setFormula(). Den gemte formelstreng begynder med = og følger standard Excel‑formelsyntaks. getType()‑metoden returnerer CellValueType.FORMULA for formelceller. Aspose.Cells FOSS for Java gemmer og round‑tripper formler i XLSX; formlen genberegnes af Excel ved åbning.

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 Rundrejse‑nøjagtighed

Alle typede værdier bevares på tværs af XLSX-serialisering og genindlæsning. Indlæsning af en eksisterende .xlsx-fil bruger new Workbook(path) eller new Workbook(path, options) med LoadOptions for at aktivere reparations-tilstand. Efter genindlæsning, getType() og getStringValue() returnerer de samme værdier som på tidspunktet for skrivning.

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");
}

Understøttede formater

FormatUdvidelseLæsSkriv
Excel Open XML.xlsx

Open Source & Licensering

Aspose.Cells FOSS for Java er udgivet under MIT-licensen. Du er fri til at bruge, modificere og distribuere den i personlige, open‑source og kommercielle projekter uden begrænsning. Kildekoden er tilgængelig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Kom i gang