Pendahuluan
Aspose.Cells FOSS for TypeScript menyediakan seperangkat fitur manajemen spreadsheet yang komprehensif di luar pembacaan/penulisan sel dasar. Pengembang dapat menerapkan styling detail, mengatur aturan validasi data, mengonfigurasi auto-filters, menambahkan conditional formatting, membuat charts, menyisipkan shapes, dan melindungi workbooks – semuanya dari kode TypeScript tanpa ketergantungan Microsoft Office.
Postingan ini menjelaskan kemampuan utama manajemen spreadsheet yang tersedia di perpustakaan, dengan contoh kode yang berfungsi untuk setiap area fitur.
Fitur Utama
Validasi Data
Tambahkan aturan validasi ke rentang sel menggunakan kelas DataValidation. Jenis validasi yang didukung meliputi daftar, rentang angka, dan formula khusus. Terapkan validasi ke rentang apa pun dengan worksheet.addDataValidation().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Option1,Option2,Option3"';
worksheet.addDataValidation(validation, "B1:B10");
await workbook.save("validated.xlsx");
Filter-Otomatis
Aktifkan header auto-filter pada rentang data dengan worksheet.setAutoFilter(). Ini menambahkan kontrol filter drop‑down ke header kolom dalam file XLSX output. Hapus filter dengan worksheet.removeAutoFilter().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("C1", "City");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", "25");
worksheet.putValue("C2", "New York");
worksheet.putValue("A3", "Bob");
worksheet.putValue("B3", "30");
worksheet.putValue("C3", "London");
worksheet.setAutoFilter("A1:C4");
await workbook.save("filtered.xlsx");
Pemformatan Bersyarat
Terapkan aturan visual ke rentang sel menggunakan ConditionalFormatCollection. Perpustakaan mendukung ColorScaleRule, DataBarRule, dan IconSetRule untuk menyorot sel berdasarkan nilainya.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
for (let i = 1; i <= 10; i++) {
worksheet.putValue(`A${i}`, i * 10);
}
await workbook.save("conditional.xlsx");
Tautan Hiper dan Komentar
Tambahkan hyperlink ke sel dengan cell.setHyperlink() yang mendukung URL, alamat email, dan referensi lembar internal. Tambahkan komentar dengan worksheet.addComment() menggunakan objek Comment.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Click here");
worksheet.getCell2("A1").setHyperlink("https://www.example.com");
worksheet.putValue("A3", "Send email");
worksheet.getCell2("A3").setHyperlink("mailto:test@example.com");
await workbook.save("hyperlinks.xlsx");
Perlindungan Workbook dan Sel
Proteksi seluruh workbook dengan kata sandi menggunakan workbook.protect(). Kunci sel individual dengan style.setLocked(true) dan kontrol visibilitas formula dengan style.setHidden().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Protected Cell");
const style = new Style();
style.setLocked(true);
style.setHidden(false);
worksheet.getCell2("A1").setStyle(style);
workbook.protect(true, "password");
await workbook.save("protected.xlsx");
Pengaturan Ukuran Kolom dan Baris
Atur lebar kolom dengan worksheet.setColumnWidth() dan tinggi baris dengan worksheet.setRowHeight(). Sembunyikan baris dengan worksheet.setRowHidden(). Pengaturan ini tetap ada dalam file XLSX yang disimpan.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Wide Column");
worksheet.setColumnWidth(0, 30);
worksheet.setRowHeight(0, 25);
await workbook.save("sized.xlsx");
Panduan Cepat
Instal dengan npm:
npm install @aspose/cells@1.0.0
Buat buku kerja bergaya dengan validasi dan penyaring otomatis:
import { Workbook, Style, DataValidation } from "@aspose/cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Status");
worksheet.putValue("B1", "Value");
const headerStyle = new Style();
headerStyle.setBold(true);
worksheet.getCell2("A1").setStyle(headerStyle);
worksheet.getCell2("B1").setStyle(headerStyle);
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Active,Inactive,Pending"';
worksheet.addDataValidation(validation, "A2:A20");
worksheet.setAutoFilter("A1:B20");
await workbook.save("managed.xlsx");
Sumber Terbuka & Lisensi
Aspose.Cells FOSS untuk TypeScript dirilis di bawah lisensi MIT. Kode sumber tersedia di GitHub. Penggunaan komersial diizinkan di bawah ketentuan lisensi MIT.