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>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.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