Johdanto

Cell-luokka on perusyksikkö Aspose.Cells FOSS for Java -kirjastossa. Se tallentaa tyyppisiä arvoja, paljastaa niiden ajoaikatyypin CellValueType-enumin kautta, säilyttää kaavarivit, jotka Excel arvioi, ja tarjoaa yhtenäisen merkkijonoesityksen getStringValue()-menetelmällä. Tässä julkaisussa tarkastellaan ydinsolun API:a yksityiskohtaisesti vahvistettujen esimerkkien avulla.

Kaikki alla olevat koodiesimerkit käyttävät Maven‑riippuvuutta:

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

Core Cell API

Tyyppiarvojen tallentaminen putValue()-menetelmällä

Cell.putValue() hyväksyy kuusi Java-tyyppiä: String, int, double, boolean, LocalDateTime ja Object. Jokainen kutsu asettaa solun sisäisen arvon ja määrittää CellValueType, jonka cell.getType() palauttaa.

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

Tyhjät solut palauttavat CellValueType.BLANK kohteesta getType(). Kokonaislukuarvot, jotka on tallennettu putValue(int) pyörivän läpiviennin kautta XLSX-serialisoinnin läpi ilman desimaalipistettä — getStringValue() palauttaa "123" eikä "123.0".

Arvojen tarkastelu suorituksen aikana

cell.getValue() palauttaa raakan tallennetun arvon muodossa Object. cell.getStringValue() palauttaa kieliriippumattoman merkkijonoesityksen, joka soveltuu jatkokäsittelyyn tai näyttöön. Haarautuminen CellValueType:n perusteella on suositeltu malli tyyppiturvalliseen arvon poimintaan:

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

Kaavojen tallennus

Kaavamerkkijonot tallennetaan cell.setFormula(). Tallennettu kaavamerkkijono alkaa = ja noudattaa standardia Excel-kaavasyntaksia. getType()-menetelmä palauttaa CellValueType.FORMULA kaavasoluissa. Aspose.Cells FOSS for Java tallentaa ja siirtää kaavat XLSX-muodossa; kaava lasketaan uudelleen Excelissä avattaessa.

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 Kierrosmatkan tarkkuus

Kaikki kirjoitetut arvot säilyvät XLSX-sarjoituksen ja uudelleenlatauksen aikana. Lataaminen olemassa oleva .xlsx-tiedosto käyttää new Workbook(path) tai new Workbook(path, options) yhdessä LoadOptions:n kanssa korjaustilan mahdollistamiseksi. Uudelleenlatauksen jälkeen getType() ja getStringValue() palauttavat samat arvot kuin kirjoitushetkellä.

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

Tuetut tiedostomuodot

MuotoTiedostopääteLukuKirjoitus
Excel Open XML.xlsx

Avoin lähdekoodi ja lisensointi

Aspose.Cells FOSS for Java on julkaistu MIT‑lisenssin alla. Voit vapaasti käyttää, muokata ja jakaa sitä henkilökohtaisissa, avoimen lähdekoodin ja kaupallisissa projekteissa ilman rajoituksia. Lähdekoodi on saatavilla osoitteessa github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Aloittaminen