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
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| 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.