Pendahuluan

Aspose.Cells FOSS for Java menyediakan seperangkat kemampuan spreadsheet yang komprehensif untuk aplikasi Java 17. Dirilis di bawah lisensi MIT dan didistribusikan sebagai artefak Maven standar, perpustakaan ini mencakup segala hal mulai dari pembuatan workbook dasar hingga nilai sel bertipe, pemformatan kaya, validasi data, dan AutoFilter — semuanya tanpa ketergantungan Microsoft Office.

Posting ini membahas area fitur utama dengan contoh kode terfokus yang diambil dari permukaan API yang telah diverifikasi. Semua nama kelas dan metode yang ditampilkan di bawah ini ada dalam perpustakaan dan tersedia dalam versi 1.0.0.


Fitur Utama

Manajemen Workbook dan Worksheet

Kelas Workbook mengimplementasikan AutoCloseable sehingga terintegrasi dengan pola Java try-with-resources. Anda dapat membuat workbook kosong, memuat yang ada .xlsx file, mengganti nama lembar kerja, menambah atau menghapus lembar, mengatur lembar aktif, dan mengontrol visibilitas tab.

import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    sheet.setName("Q1 Report");
    workbook.getWorksheets().addSheet("Summary");
    workbook.save("report.xlsx");
}

Nilai Sel yang Diketik dan Rumus

Kelas Cell menerima nilai bertipe melalui putValue() untuk String, int, double, boolean, dan LocalDateTime. Metode getType() mengembalikan nilai enum CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME, atau FORMULA — memudahkan percabangan berdasarkan tipe nilai tanpa mengurai string. String formula disimpan dengan setFormula() dan akan 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 a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.00);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    // Check type
    assert b1.getType() == CellValueType.NUMBER;
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("values.xlsx");
}

Pemformatan Sel dan Gaya

Pemformatan diterapkan melalui objek Style yang diambil dari cell.getStyle() dan ditulis kembali dengan cell.setStyle(). Sub-objek Font menampilkan setBold() dan setColor(). HorizontalAlignment mengontrol perataan teks — LEFT, CENTER, atau RIGHT. Format angka khusus menggunakan string format Excel melalui style.setCustom(). Tinggi baris dan lebar kolom disesuaikan melalui getRows().get(n).setHeight() dan getColumns().get(n).setWidth().

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell cell = sheet.getCells().get("B1");
    cell.putValue(9999.50);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    sheet.getCells().getRows().get(0).setHeight(24.0);
    sheet.getCells().getColumns().get(1).setWidth(16.0);
    workbook.save("styled.xlsx");
}

Validasi Data

Aturan validasi data ditambahkan melalui sheet.getValidations().add(). Setiap objek Validation mengambil sebuah ValidationType (misalnya WHOLE_NUMBER, DECIMAL, LIST) dan sebuah OperatorType (misalnya BETWEEN, GREATER_THAN). Batas formula disimpan sebagai string melalui setFormula1() dan setFormula2().

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
    Validation validation = sheet.getValidations().get(vi);
    validation.setType(ValidationType.WHOLE_NUMBER);
    validation.setOperator(OperatorType.BETWEEN);
    validation.setFormula1("1");
    validation.setFormula2("100");
    workbook.save("validated.xlsx");
}

AutoFilter

AutoFilters memungkinkan pengguna akhir memfilter data secara interaktif di Excel tanpa konfigurasi tambahan. Panggil ws.getAutoFilter().setRange() dengan rentang notasi A1 untuk mengaktifkan baris header filter. Kolom filter tambahan dan kriteria khusus dapat didefinisikan melalui FilterColumn dan AutoFilterCustomFilter.

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("Product");
    sheet.getCells().get("B1").putValue("Qty");
    sheet.getAutoFilter().setRange("A1:B1");
    workbook.save("filtered.xlsx");
}

Pengaturan Halaman dan Perlindungan Lembar Kerja

Kelas PageSetup mengontrol ukuran kertas, orientasi halaman, dan pengaturan cocok‑ke‑halaman untuk output siap cetak. Perlindungan lembar kerja diterapkan melalui protect() dengan WorksheetProtectionModel, memungkinkan sel tertentu tetap dapat diedit sementara sisanya dikunci. Tautan hiper dikelola melalui HyperlinkCollection.


Panduan Cepat

Tambahkan dependensi ke pom.xml Anda:

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

Buat buku kerja dengan semua fitur utama dalam kurang dari 20 baris:

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

public class QuickStart {
    public static void main(String[] args) {
        try (Workbook workbook = new Workbook()) {
            Worksheet sheet = workbook.getWorksheets().get(0);
            sheet.setName("Sales");
            sheet.getCells().get("A1").putValue("Revenue");
            Cell b1 = sheet.getCells().get("B1");
            b1.putValue(42500.00);
            Style style = b1.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            b1.setStyle(style);
            sheet.getAutoFilter().setRange("A1:B1");
            workbook.save("sales.xlsx");
        }
    }
}

Format yang Didukung

FormatEkstensiBacaTulis
Excel Open XML.xlsx

Penyimpanan saat ini terbatas pada .xlsx. Perpustakaan menyimpan dan melakukan round‑trip formula tetapi tidak berfungsi sebagai mesin perhitungan spreadsheet lengkap.


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