Einleitung

Die Cell‑Klasse ist die grundlegende Einheit in Aspose.Cells FOSS für Java. Sie speichert typisierte Werte, gibt ihren Laufzeittyp über das CellValueType‑Enum preis, speichert Formelformeln, die Excel auswerten kann, und liefert eine einheitliche Zeichenkettenrepräsentation über getStringValue(). Dieser Beitrag untersucht die Kern‑Cell‑API im Detail mit verifizierten Beispielen.

Alle nachfolgenden Codebeispiele verwenden die Maven‑Abhängigkeit:

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

Core Cell API

Speichern typisierter Werte mit putValue()

Cell.putValue() akzeptiert sechs Java‑Typen: String, int, double, boolean, LocalDateTime und Object. Jeder Aufruf setzt den internen Wert der Zelle und bestimmt das CellValueType, das von cell.getType() zurückgegeben wird.

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

Leere Zellen geben CellValueType.BLANK von getType() zurück. Ganzzahlige Werte, die mit putValue(int) gespeichert wurden, durchlaufen die XLSX‑Serialisierung im Round‑Trip, ohne einen Dezimalpunkt zu erhalten — getStringValue() gibt "123" zurück, nicht "123.0".

Werte zur Laufzeit inspizieren

cell.getValue() gibt den rohen gespeicherten Wert als Object zurück. cell.getStringValue()
gibt eine lokalinabhängige String-Darstellung zurück, die für die nachgelagerte Verarbeitung
oder Anzeige geeignet ist. Das Verzweigen auf CellValueType ist das empfohlene Muster für typensichere
Wertextraktion:

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

Formel‑Speicher

Formelzeichenketten werden mit cell.setFormula() gespeichert. Die gespeicherte Formelzeichenkette beginnt mit = und folgt der standardmäßigen Excel-Formelsyntax. Die getType()-Methode gibt CellValueType.FORMULA für Formatzellen zurück. Aspose.Cells FOSS für Java speichert und überträgt Formeln in XLSX; die Formel wird von Excel beim Öffnen neu berechnet.

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 Rundreise‑Treue

Alle typisierten Werte bleiben über die XLSX-Serialisierung und das erneute Laden erhalten.
Das Laden einer
bestehenden .xlsx-Datei verwendet new Workbook(path) oder new Workbook(path, options) mit
LoadOptions, um den Reparaturmodus zu aktivieren. Nach dem erneuten Laden geben getType() und getStringValue()
die gleichen Werte zurück wie zum Zeitpunkt des Schreibens.

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

Unterstützte Formate

FormatErweiterungLesenSchreiben
Excel Open XML.xlsx

Open Source & Lizenzierung

Aspose.Cells FOSS for Java wird unter der MIT-Lizenz veröffentlicht. Sie dürfen es verwenden, ändern und verbreiten in persönlichen, Open‑Source‑ und kommerziellen Projekten ohne Einschränkung. Der Quellcode ist verfügbar unter github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Erste Schritte