Увод

Klasa Cell je osnovna jedinica u Aspose.Cells FOSS za Javu. Ona čuva tipizirane vrednosti, izlaže njihov tip u vreme izvršavanja kroz enum CellValueType, čuva formule kao stringove za evaluaciju u Excelu i pruža jedinstvenu tekstualnu reprezentaciju putem getStringValue(). Ovaj post detaljno ispituje osnovni API ćelija uz verifikovane primere.

Svi primeri koda ispod koriste Maven zavisnost:

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

Core Cell API

Skladištenje tipizovanih vrednosti pomoću putValue()

Cell.putValue() prihvata šest Java tipova: String, int, double, boolean, LocalDateTime i Object. Svaki poziv postavlja internu vrednost ćelije i određuje CellValueType koji vraća 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");
}

Prazne ćelije vraćaju CellValueType.BLANK iz getType(). Celobrojne vrednosti pohranjene sa putValue(int) prolaze kroz XLSX serijalizaciju bez dobijanja decimalne tačke — getStringValue() vraća "123", a ne "123.0".

Преглед вредности у време извршавања

cell.getValue() vraća sirovu pohranjenu vrednost kao Object. cell.getStringValue()
vraća reprezentaciju stringa nezavisnu od lokalizacije, pogodnu za dalju obradu
ili prikaz. Grananje na CellValueType je preporučeni obrazac za tip‑sigurno
ekstrahovanje vrednosti:

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

Складиште формула

Stringovi formula se čuvaju uz cell.setFormula(). Sačuvani string formule počinje sa = i prati standardnu Excel sintaksu formula. Metoda getType() vraća CellValueType.FORMULA za ćelije formula. Aspose.Cells FOSS for Java čuva i round-trips formule u XLSX; formula se ponovo izračunava u Excelu prilikom otvaranja.

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 Верност приликом круговног процеса

Svi tipizovani podaci se čuvaju tokom XLSX serijalizacije i ponovnog učitavanja. Učitavanje postojeće .xlsx datoteke koristi new Workbook(path) ili new Workbook(path, options) uz LoadOptions da bi se omogućio režim popravke. Nakon ponovnog učitavanja, getType() i getStringValue() vraćaju iste vrednosti kao prilikom upisa.

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

Podržani formati

FormatEkstenzijaČitanjePisanje
Excel Open XML.xlsx

Open Source i licenciranje

Aspose.Cells FOSS za Java je objavljen pod MIT licencom. Slobodno ga možete koristiti, menjati i distribuirati u ličnim, open‑source i komercijalnim projektima bez ograničenja. Izvorni kod je dostupan na github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Početak