Pengenalan
Aspose.Cells FOSS untuk TypeScript menyediakan satu set lengkap ciri pengurusan hamparan kerja yang melampaui bacaan/penulisan sel asas. Pembangun boleh menerapkan gaya terperinci, menetapkan peraturan pengesahan data, mengkonfigurasi penapis automatik, menambah pemformatan bersyarat, membina carta, menyisipkan bentuk, dan melindungi buku kerja – semuanya dari kod TypeScript tanpa kebergantungan Microsoft Office.
Pos ini membimbing anda melalui keupayaan pengurusan hamparan utama yang terdapat dalam perpustakaan, dengan contoh kod yang berfungsi untuk setiap kawasan ciri.
Ciri-ciri Utama
Pengesahan Data
Tambah peraturan pengesahan kepada julat sel menggunakan kelas DataValidation. Jenis pengesahan yang disokong termasuk senarai, julat nombor, dan formula khusus. Terapkan pengesahan kepada mana-mana julat 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");
Auto-Filter
Dayakan tajuk auto‑filter pada julat data dengan worksheet.setAutoFilter(). Ini menambah kawalan penapis drop‑down pada tajuk lajur dalam fail XLSX output. Buang penapis 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 peraturan visual kepada julat sel menggunakan ConditionalFormatCollection. Perpustakaan menyokong ColorScaleRule, DataBarRule, dan IconSetRule untuk menyorot sel berdasarkan nilai mereka.
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");
Pautan Hiper dan Komen
Pasang pautan hiperteks pada sel dengan cell.setHyperlink() menyokong URL, alamat e‑mel, dan rujukan helaian dalaman. Tambah komen 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 Buku Kerja dan Sel
Lindungi seluruh buku kerja dengan kata laluan menggunakan workbook.protect(). Kunci sel individu dengan style.setLocked(true) dan kawal kebolehlihatan 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");
Saiz Lajur dan Baris
Tetapkan lebar lajur dengan worksheet.setColumnWidth() dan tinggi baris dengan worksheet.setRowHeight(). Sembunyikan baris dengan worksheet.setRowHidden(). Tetapan ini kekal dalam fail 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");
Mula Cepat
Pasang dengan npm:
npm install @aspose/cells@1.0.0
Bina buku kerja bergaya dengan pengesahan dan penapis automatik:
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 & Pelesenan
Aspose.Cells FOSS untuk TypeScript dikeluarkan di bawah lesen MIT. Kod sumber tersedia di GitHub. Penggunaan komersial dibenarkan di bawah syarat lesen MIT.