Pengenalan

Kelas Cell adalah unit asas dalam Aspose.Cells FOSS untuk Java. Ia menyimpan nilai berjenis, mendedahkan jenis masa jalannya melalui enum CellValueType, menyimpan rentetan formula untuk Excel menilai, dan menyediakan representasi rentetan seragam melalui getStringValue(). Kiriman ini mengkaji API sel teras secara terperinci dengan contoh yang disahkan.

Semua contoh kod di bawah menggunakan kebergantungan Maven:

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

Core Cell API

Menyimpan Nilai Bertipe dengan putValue()

Cell.putValue() menerima enam jenis Java: String, int, double, boolean, LocalDateTime, dan Object. Setiap panggilan menetapkan nilai dalaman sel dan menentukan CellValueType yang dikembalikan oleh 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");
}

Sel kosong mengembalikan CellValueType.BLANK dari getType(). Nilai integer yang disimpan dengan putValue(int) melakukan perjalanan pusingan melalui penserialan XLSX tanpa menambah titik perpuluhan — getStringValue() mengembalikan "123" bukan "123.0".

Menyemak Nilai pada Runtime

cell.getValue() mengembalikan nilai mentah yang disimpan sebagai Object. cell.getStringValue() mengembalikan representasi rentetan bebas-lokal yang sesuai untuk pemprosesan atau paparan seterusnya. Membuat cabang pada CellValueType adalah corak yang disyorkan untuk pengekstrakan nilai yang selamat-jenis:

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

Penyimpanan Formula

String formula disimpan dengan cell.setFormula(). String formula yang disimpan bermula dengan = dan mengikuti sintaks formula Excel standard. Kaedah getType() mengembalikan CellValueType.FORMULA untuk sel formula. Aspose.Cells FOSS for Java menyimpan dan melakukan round‑trip formula dalam XLSX; formula tersebut dikira semula oleh Excel semasa dibuka.

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 Kesetiaan Pusingan Balik

Semua nilai berjenis dipelihara merentasi penserian XLSX dan muat semula. Memuatkan satu fail .xlsx yang sedia ada menggunakan new Workbook(path) atau new Workbook(path, options) dengan LoadOptions untuk membolehkan mod pembaikan. Selepas muat semula, getType() dan getStringValue() mengembalikan nilai yang sama seperti pada masa penulisan.

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

Format yang Disokong

FormatSambunganBacaTulis
Excel Open XML.xlsx

Sumber Terbuka & Pelesenan

Aspose.Cells FOSS for Java dikeluarkan di bawah lesen MIT. Anda bebas untuk menggunakannya, mengubah suai, dan mengedarkannya dalam projek peribadi, sumber terbuka, dan komersial tanpa sekatan. Kod sumber tersedia di github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Mula Menggunakan