Pengenalan

Aspose.Cells FOSS untuk Java menyediakan satu set lengkap keupayaan hamparan kerja
untuk aplikasi Java 17. Dikeluarkan di bawah lesen MIT dan diedarkan sebagai
artifak Maven standard, perpustakaan ini merangkumi segala-galanya dari penciptaan buku kerja asas
melalui nilai sel berjenis, pemformatan kaya, pengesahan data, dan AutoFilter — semua
tanpa kebergantungan Microsoft Office.

Pos ini membimbing melalui kawasan ciri utama dengan contoh kod yang fokus diambil daripada
permukaan API yang disahkan. Semua nama kelas dan kaedah yang ditunjukkan di bawah wujud dalam perpustakaan
dan tersedia dalam versi 1.0.0.


Ciri-ciri Utama

Pengurusan Buku Kerja dan Lembaran Kerja

Kelas Workbook melaksanakan AutoCloseable supaya ia berintegrasi dengan bersih dengan corak Java try-with-resources. Anda boleh mencipta buku kerja kosong, memuatkan fail .xlsx yang sedia ada, menamakan semula lembar kerja, menambah atau membuang helaian, menetapkan helaian aktif, dan mengawal kebolehlihatan 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 Ditaip dan Formula

Kelas Cell menerima nilai berjenis melalui putValue() untuk String, int, double, boolean, dan LocalDateTime. Kaedah getType() mengembalikan nilai enum CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME, atau FORMULA — memudahkan percabangan berdasarkan jenis nilai tanpa perlu mengurai rentetan. Rentetan formula disimpan dengan setFormula() dan akan dikira semula oleh Excel apabila 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 daripada cell.getStyle() dan ditulis kembali dengan cell.setStyle(). Sub‑objek Font mendedahkan setBold() dan setColor(). HorizontalAlignment mengawal penjajaran teks — LEFT, CENTER, atau RIGHT. Format nombor tersuai menggunakan rentetan format Excel melalui style.setCustom(). Ketinggian baris dan lebar lajur 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");
}

Pengesahan Data

Peraturan pengesahan data ditambahkan melalui sheet.getValidations().add(). Setiap objek Validation mengambil satu ValidationType (contohnya WHOLE_NUMBER, DECIMAL, LIST) dan satu OperatorType (contohnya BETWEEN, GREATER_THAN). Batas formula disimpan sebagai rentetan 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 membolehkan pengguna akhir menapis data secara interaktif dalam Excel tanpa sebarang konfigurasi tambahan
Panggil ws.getAutoFilter().setRange() dengan julat notasi A1 untuk
mengaktifkan baris tajuk penapis. Lajur penapis tambahan dan kriteria khusus boleh
ditakrifkan 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");
}

Persediaan Halaman dan Perlindungan Lembaran Kerja

Kelas PageSetup mengawal saiz kertas, orientasi halaman, dan tetapan sesuaikan‑ke‑halaman untuk output siap cetak. Perlindungan lembar kerja diterapkan melalui protect() dengan WorksheetProtectionModel, membolehkan sel tertentu tetap boleh diedit sambil mengunci yang lain. Pautan hiper diuruskan melalui HyperlinkCollection.


Permulaan Cepat

Tambah kebergantungan ke pom.xml anda:

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

Buat buku kerja dengan semua ciri utama dalam kurang daripada 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 Disokong

FormatSambunganBacaTulis
Excel Open XML.xlsx

Penyimpanan kini terhad kepada .xlsx. Perpustakaan menyimpan dan memproses semula formula
tetapi tidak berfungsi sebagai enjin pengiraan hamparan lengkap.


Sumber Terbuka & Perlesenan

Aspose.Cells FOSS for Java dikeluarkan di bawah lesen MIT. Anda bebas untuk menggunakan, 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