Įvadas

Cell klasė yra pagrindinis vienetas Aspose.Cells FOSS for Java. Ji saugo tipizuotas reikšmes, atskleidžia jų vykdymo laiką tipą per CellValueType enum, išsaugo formulės eilutes, kurias Excel gali įvertinti, ir suteikia vienodą eilutės atvaizdavimą per getStringValue(). Šiame įraše išsamiai nagrinėjama pagrindinė ląstelės API su patikrintais pavyzdžiais.

Visi toliau pateikti kodo pavyzdžiai naudoja Maven priklausomybę:

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

Core Cell API

Tipų reikšmių saugojimas naudojant putValue()

Cell.putValue() priima šešis Java tipus: String, int, double, boolean, LocalDateTime ir Object. Kiekvienas iškvietimas nustato ląstelės vidinę reikšmę ir nustato CellValueType, kurį grąžina 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");
}

Tušti langeliai grąžina CellValueType.BLANKgetType(). Visiškos reikšmės, saugomos su putValue(int) keliauja per XLSX serializaciją be dešimtainio taško — getStringValue() grąžina "123", o ne "123.0".

Verčių tikrinimas vykdymo metu

cell.getValue() grąžina neapdorotą saugomą reikšmę kaip Object. cell.getStringValue()
grąžina lokalės nepriklausomą eilutės atvaizdavimą, tinkamą tolimesniam apdorojimui
arba rodymui. Šakavimas pagal CellValueType yra rekomenduojamas šablonas tipų saugiam
reikšmių išgavimui:

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

Formulės saugykla

Formulės eilutės saugomos su cell.setFormula(). Saugojama formulės eilutė prasideda = ir atitinka standartinę Excel formulės sintaksę. getType() metodas grąžina CellValueType.FORMULA formulės langeliams. Aspose.Cells FOSS for Java saugo ir perduoda formules XLSX; formulė perskaičiuojama Excel atidarant.

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 Apkelių tikslumas

Visos įvestos reikšmės išlieka per XLSX serializaciją ir pakartotinį įkėlimą. Įkeliant esamą .xlsx failą naudojamas new Workbook(path) arba new Workbook(path, options) su LoadOptions, kad būtų įjungta taisymo veiksena. Po pakartotinio įkėlimo, getType() ir getStringValue() grąžina tas pačias reikšmes, kaip rašymo metu.

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

Palaikomi formatai

FormatasPlėtinysSkaitytiRašyti
Excel Open XML.xlsx

Atviro kodo ir licencijavimas

Aspose.Cells FOSS for Java išleidžiamas pagal MIT licenciją. Jūs galite laisvai naudoti, modifikuoti ir platinti jį asmeniniuose, atviro kodo ir komerciniuose projektuose be apribojimų. Šaltinio kodas prieinamas adresu github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Pradžia