Bevezetés

A Cell osztály az alapvető egység az Aspose.Cells FOSS for Java-ban. Tárolja a típusos értékeket, a futásidejű típusukat a CellValueType enumeráción keresztül teszi elérhetővé, megőrzi a képlet karakterláncokat, amelyeket az Excel kiértékel, és egységes karakterlánc ábrázolást biztosít a getStringValue() segítségével. Ez a bejegyzés részletesen vizsgálja az alap cella API-t ellenőrzött példákkal.

Az alábbi összes kódrészlet a Maven függőséget használja:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-cells-foss</artifactId>
  <version>26.7.0</version>
</dependency>

Core Cell API

Típusos értékek tárolása a putValue() segítségével

Cell.putValue() hat Java típust fogad el: String, int, double, boolean, LocalDateTime és Object. Minden hívás beállítja a cella belső értékét, és meghatározza a CellValueType értékét, amelyet a cell.getType() ad vissza.

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

Az üres cellák CellValueType.BLANK-t adnak vissza a getType()-tól. Az egész számok tárolva
putValue(int) körúton keresztül az XLSX sorosítás során nem kapnak tizedes pontot — getStringValue() "123"-t ad vissza, nem "123.0"-t.

Értékek ellenőrzése futásidőben

cell.getValue() visszaadja a nyers tárolt értéket Object formájában. cell.getStringValue() egy helyfüggetlen karakterlánc ábrázolást ad vissza, amely alkalmas a további feldolgozásra vagy megjelenítésre. Az CellValueType alapján történő elágazás a javasolt minta a típusbiztos értékkinyeréshez:

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

Képlet tároló

A képlet karakterláncok a cell.setFormula() segítségével tárolódnak. A tárolt képlet karakterlánc a
=-vel kezdődik, és a szabványos Excel képletszintaxist követi. A getType() metódus
CellValueType.FORMULA-t ad vissza képletcellák esetén. Az Aspose.Cells FOSS for Java tárolja és
körkörös átvitelre (round‑trip) képleteket XLSX-ben; a képletet az Excel újraszámolja megnyitáskor.

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 körkörös pontosság

Minden típusú érték megmarad az XLSX sorosítás és újratöltés során. Betöltéskor egy
létező .xlsx fájl használja a new Workbook(path) vagy new Workbook(path, options)-t
LoadOptions a javítási mód engedélyezéséhez. Újratöltés után getType() és getStringValue()
ugyanazokat az értékeket adják vissza, mint íráskor.

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

Támogatott formátumok

FormátumKiterjesztésOlvasásÍrás
Excel Open XML.xlsx✓✓

Nyílt forráskód és licencelés

Aspose.Cells FOSS for Java az MIT licenc alatt kerül kiadásra. Szabadon használhatja, módosíthatja, és terjesztheti személyes, nyílt forráskódú és kereskedelmi projektekben korlátozás nélkül. A forráskód elérhető itt github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Első lépések