Pendahuluan

Kelas Cell adalah unit dasar dalam Aspose.Cells FOSS untuk Java. Ia menyimpan nilai bertipe, mengekspos tipe runtime mereka melalui enum CellValueType, menyimpan string formula agar Excel dapat mengevaluasinya, dan menyediakan representasi string yang seragam melalui getStringValue(). Posting ini memeriksa API sel inti secara detail dengan contoh yang telah diverifikasi.

Semua contoh kode di bawah ini menggunakan dependensi Maven:

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

API Sel Inti

Menyimpan Nilai Bertipe dengan putValue()

Cell.putValue() menerima enam tipe Java: String, int, double, boolean, LocalDateTime, dan Object. Setiap pemanggilan mengatur nilai internal 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 round‑trip melalui serialisasi XLSX tanpa menambah titik desimal — getStringValue() mengembalikan "123" bukan "123.0".

Memeriksa Nilai pada Waktu Eksekusi

cell.getValue() mengembalikan nilai mentah yang disimpan sebagai Object. cell.getStringValue() mengembalikan representasi string yang tidak bergantung pada locale dan cocok untuk pemrosesan atau tampilan selanjutnya. Membuat percabangan pada CellValueType adalah pola yang direkomendasikan untuk ekstraksi nilai yang aman tipe:

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 dimulai dengan = dan mengikuti sintaks formula Excel standar. Metode getType() mengembalikan CellValueType.FORMULA untuk sel formula. Aspose.Cells FOSS for Java menyimpan dan round-trips formula dalam XLSX; formula tersebut dihitung ulang oleh Excel saat 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 Keakuratan Putar Balik

Semua nilai yang diketik dipertahankan selama serialisasi XLSX dan pemuatan ulang. Memuat sebuah file .xlsx yang ada menggunakan new Workbook(path) atau new Workbook(path, options) dengan LoadOptions untuk mengaktifkan mode perbaikan. Setelah pemuatan ulang, getType() dan getStringValue() mengembalikan nilai yang sama seperti saat 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 Didukung

FormatEkstensiBacaTulis
Excel Open XML.xlsx

Sumber Terbuka & Lisensi

Aspose.Cells FOSS for Java dirilis di bawah lisensi MIT. Anda bebas untuk menggunakan, memodifikasi, dan mendistribusikannya dalam proyek pribadi, sumber terbuka, dan komersial tanpa pembatasan. Kode sumber tersedia di github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Memulai