Introduksjon

Cell-klassen er den grunnleggende enheten i Aspose.Cells FOSS for Java. Den lagrer typede verdier, eksponerer deres kjøretidstype gjennom CellValueType-enumet, lagrer formelstrenger for Excel å evaluere, og gir en ensartet strengrepresentasjon via getStringValue(). Dette innlegget undersøker kjerne‑celle‑API‑et i detalj med verifiserte eksempler.

Alle kodeeksempler nedenfor bruker Maven‑avhengigheten:

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

Kjernecelle-API

Lagring av typede verdier med putValue()

Cell.putValue() godtar seks Java-typer: String, int, double, boolean, LocalDateTime og Object. Hvert kall setter cellens interne verdi og bestemmer CellValueType som returneres av 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(). Hele tall lagret med putValue(int) går gjennom en rundtur i XLSX-serialisering uten å få et desimaltegn — getStringValue() returnerer "123", ikke "123.0".

Inspeksjon av verdier ved kjøringstid

cell.getValue() returnerer den rå lagrede verdien som Object. cell.getStringValue() returnerer en lokaluavhengig strengrepresentasjon som er egnet for videre behandling eller visning. Å forgreine på CellValueType er det anbefalte mønsteret for type‑sikker verdiuttrekking:

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

Formellagring

Formelstrenger lagres med cell.setFormula(). Den lagrede formelstrengen begynner med = og følger standard Excel‑formelsyntaks. getType()‑metoden returnerer CellValueType.FORMULA for formelceller. Aspose.Cells FOSS for Java lagrer og round‑trips formler i XLSX; formelen blir beregnet på nytt av Excel ved åpning.

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 Rundtur‑nøyaktighet

Alle skrevne verdier blir bevart gjennom XLSX-serialisering og gjenlasting.
Innlasting av en
eksisterende .xlsx-fil bruker new Workbook(path) eller new Workbook(path, options) med
LoadOptions for å aktivere reparasjonsmodus. Etter gjenlasting, getType() og getStringValue()
returnerer de samme verdiene som ved skrivetidspunktet.

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

Støttede formater

FormatFiltypeLeseSkrive
Excel Open XML.xlsx

Open Source og lisensiering

Aspose.Cells FOSS for Java er utgitt under MIT‑lisensen. Du er fri til å bruke, endre, og distribuere den i personlige, åpen kildekode‑ og kommersielle prosjekter uten restriksjon. Kildekoden er tilgjengelig på github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Kom i gang