Pengenalan
Aspose.Cells FOSS for Java ialah perpustakaan Java 17 sumber terbuka yang membolehkan pembangun mencipta, memuat, mengubah suai, dan menyimpan buku kerja Excel .xlsx sepenuhnya pada JVM — tanpa pemasangan Microsoft Office, tanpa perpustakaan asli, dan tanpa kebergantungan masa jalan komersial Aspose. API awam berada di bawah pakej com.aspose.cells_foss dan dikeluarkan di bawah lesen MIT, menjadikannya sesuai untuk projek peribadi, sumber terbuka, dan komersial.
Pustaka ini dihantar sebagai artifak Maven standard dan merangkumi model objek hamparan OOXML teras: buku kerja, lembar kerja, sel, gaya, dan koleksi. Ia dibina dengan Maven 3.9+ dan menyasarkan Java 17+, mengintegrasikan secara semula jadi ke dalam mana-mana saluran binaan Java moden.
Tambah kebergantungan ke pom.xml anda dan anda sudah bersedia untuk menjana atau memproses buku kerja Excel daripada servlet, kerja batch, fungsi Lambda, atau mana-mana konteks sisi pelayan Java yang lain.
Ciri-ciri Utama
Pengurusan Buku Kerja dan Lembaran Kerja
Kelas Workbook adalah titik masuk untuk semua operasi hamparan kerja. Ia melaksanakan AutoCloseable supaya ia berintegrasi dengan bersih dengan corak try-with-resources. Anda boleh mencipta buku kerja baru, memuatkan fail .xlsx sedia ada, menambah dan membuang helaian kerja, menamakan semula helaian dengan setName(), menetapkan helaian aktif, dan mengawal kebolehlihatan tab.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
sheet.setName("Sales");
workbook.save("sales.xlsx");
}
Nilai Sel dan Formula
Kelas Cell menyokong penyimpanan nilai berjenis melalui putValue() untuk rentetan, integer,
double, boolean, dan nilai LocalDateTime. Rentetan formula disimpan dengan
setFormula() dan akan dikira semula oleh Excel semasa dibuka. Jenis nilai didedahkan
melalui CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME, atau FORMULA.
import com.aspose.cells_foss.Cell;
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(12500.75);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
workbook.save("values.xlsx");
}
Pemformatan Sel dan Gaya
Pemformatan diterapkan melalui kelas Style, diambil daripada cell.getStyle() dan ditulis kembali dengan cell.setStyle(). Anda boleh mengkonfigurasi tebal dan warna pada Font, terapkan HorizontalAlignment, dan tetapkan rentetan format nombor tersuai melalui style.setCustom(). Ketinggian baris dan lebar lajur dikawal melalui getRows().get(n).setHeight() dan getColumns().get(n).setWidth().
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
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.5);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
workbook.save("styled.xlsx");
}
Pengesahan Data dan Pemformatan Bersyarat
Peraturan pengesahan data ditambah melalui sheet.getValidations().add(). Setiap objek Validation menyimpan sebuah ValidationType (contohnya, WHOLE_NUMBER), sebuah OperatorType (contohnya, BETWEEN), dan rentetan formula untuk sempadan. Pemformatan bersyarat ditambah melalui sheet.getConditionalFormattings().add(), yang mengembalikan sebuah FormatConditionCollection di mana anda menentukan julat sel dan syarat.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
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");
}
AutoFilters dan Penetapan Halaman
AutoFilters dikonfigurasikan dengan memanggil ws.getAutoFilter().setRange() dengan rentang notasi A1. Objek PageSetup mengawal saiz kertas, orientasi, dan tetapan sesuaikan‑ke‑halaman untuk output siap cetak. Perlindungan lembar kerja diterapkan melalui protect() dengan WorksheetProtectionModel.
Mula Cepat
Tambah kebergantungan Maven ke pom.xml anda:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Buat buku kerja, isi sel, terapkan pemformatan, dan simpan:
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("Report");
sheet.getCells().get("A1").putValue("Revenue");
Cell cell = sheet.getCells().get("B1");
cell.putValue(12500.75);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
Format yang Disokong
| Format | Sambungan | Baca | Tulis |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Penyimpanan kini terhad kepada .xlsx. Pustaka menyimpan dan memulangkan formula,
tetapi ia bukan enjin pengiraan hamparan lengkap.
Sumber Terbuka & Pelesenan
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.