Ievads

Cell klase ir pamata vienība Aspose.Cells FOSS for Java. Tā saglabā tipizētas vērtības, atklāj to izpildlaika tipu caur CellValueType enum, saglabā formulas virknes, ko Excel var novērtēt, un nodrošina vienotu virknes attēlojumu caur getStringValue(). Šis ziņojums detalizēti izpēta kodola šūnas API ar pārbaudītiem piemēriem.

Visi zemāk esošie koda piemēri izmanto Maven atkarību:

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

Core Cell API

Tipizētu vērtību glabāšana ar putValue()

Cell.putValue() pieņem sešus Java tipus: String, int, double, boolean, LocalDateTime un Object. Katrs izsaukums iestata šūnas iekšējo vērtību un nosaka CellValueType, ko atgriež 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");
}

Tukšas šūnas atgriež CellValueType.BLANK no getType(). Veseli skaitļi, kas saglabāti ar putValue(int), tiek pārvietoti caur XLSX serializāciju bez decimālpunktu pievienošanas — getStringValue() atgriež "123", nevis "123.0".

Vērtību pārbaude izpildlaikā

cell.getValue() atgriež neapstrādāto saglabāto vērtību kā Object. cell.getStringValue() atgriež lokālam neatkarīgu virknes pārstāvību, kas piemērota turpmākai apstrādei vai attēlošanai. Zarošana uz CellValueType ir ieteicamais modelis tipa drošai vērtību izguvei:

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

Formulu glabāšana

Formulas virknes tiek saglabātas ar cell.setFormula(). Saglabātā formulas virkne sākas ar = un seko standarta Excel formulas sintaksei. getType() metode atgriež CellValueType.FORMULA formulas šūnām. Aspose.Cells FOSS for Java saglabā un pārvieto formulas XLSX; formula tiek pārrēķināta Excel atverot.

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 apgrieztais ceļš ticamība

Visas tipa vērtības tiek saglabātas pāri XLSX serializācijai un pārlādēšanai. Esoša .xlsx faila ielāde izmanto new Workbook(path) vai new Workbook(path, options) ar LoadOptions, lai aktivizētu labošanas režīmu. Pēc pārlādes, getType() un getStringValue() atgriež tās pašas vērtības kā rakstīšanas brīdī.

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

Atbalstītie formāti

FormātsPaplašinājumsLasītRakstīt
Excel Open XML.xlsx

Atvērtā pirmkods un licencēšana

Aspose.Cells FOSS for Java ir izlaists zem MIT licences. Jūs varat brīvi izmantot, mainīt un izplatīt to personīgajos, atvērtā koda un komerciālajos projektos bez ierobežojumiem. Avota kods ir pieejams vietnē github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Sākšana