บทนำ
Aspose.Cells FOSS for TypeScript ให้ชุดคุณสมบัติการจัดการสเปรดชีตที่ครอบคลุมเหนือการอ่าน/เขียนเซลล์พื้นฐาน นักพัฒนาสามารถใช้การจัดรูปแบบอย่างละเอียด ตั้งกฎการตรวจสอบข้อมูล กำหนดค่าอัตโนมัติฟิลเตอร์ เพิ่มการจัดรูปแบบตามเงื่อนไข สร้างแผนภูมิ แทรกรูปทรง และปกป้องสมุดงาน – ทั้งหมดจากโค้ด TypeScript โดยไม่ต้องพึ่งพา Microsoft Office.
โพสต์นี้พาไปสำรวจความสามารถหลักในการจัดการสเปรดชีตที่มีในไลบรารี พร้อมตัวอย่างโค้ดที่ทำงานได้สำหรับแต่ละฟีเจอร์.
คุณสมบัติหลัก
การตรวจสอบความถูกต้องของข้อมูล
เพิ่มกฎการตรวจสอบให้กับช่วงเซลล์โดยใช้คลาส DataValidation. ประเภทการตรวจสอบที่รองรับรวมถึงรายการ, ช่วงตัวเลข, และสูตรกำหนดเอง. ใช้การตรวจสอบกับช่วงใดก็ได้ด้วย 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 บนช่วงข้อมูลด้วย worksheet.setAutoFilter(). สิ่งนี้จะเพิ่มการควบคุมตัวกรองแบบดรอป‑ดาวน์ให้กับหัวคอลัมน์ในไฟล์ XLSX ที่ส่งออก. ลบตัวกรองด้วย 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");
การจัดรูปแบบตามเงื่อนไข
ใช้กฎการแสดงผลกับช่วงเซลล์โดยใช้ ConditionalFormatCollection. ไลบรารีรองรับ ColorScaleRule, DataBarRule, และ IconSetRule สำหรับการไฮไลท์เซลล์ตามค่าของพวกมัน.
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");
ไฮเปอร์ลิงก์และความคิดเห็น
แนบไฮเปอร์ลิงก์ไปยังเซลล์ด้วย cell.setHyperlink() ที่รองรับ URL, ที่อยู่อีเมล, และการอ้างอิงแผ่นงานภายใน. เพิ่มคอมเมนต์ด้วย worksheet.addComment() โดยใช้ Comment objects.
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");
การป้องกัน Workbook และ Cell
ปกป้องเวิร์กบุ๊กทั้งหมดด้วยรหัสผ่านโดยใช้ workbook.protect(). ล็อคเซลล์แต่ละเซลล์ด้วย style.setLocked(true) และควบคุมการมองเห็นสูตรด้วย 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");
การกำหนดขนาดคอลัมน์และแถว
ตั้งความกว้างของคอลัมน์ด้วย worksheet.setColumnWidth() และความสูงของแถวด้วย worksheet.setRowHeight(). ซ่อนแถวด้วย worksheet.setRowHidden(). การตั้งค่าเหล่านี้จะคงอยู่ในไฟล์ XLSX ที่บันทึก.
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");
เริ่มต้นอย่างรวดเร็ว
ติดตั้งด้วย npm:
npm install @aspose/cells@1.0.0
สร้างสมุดงานที่มีสไตล์พร้อมการตรวจสอบและตัวกรองอัตโนมัติ:
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");
โอเพนซอร์สและการให้สิทธิ์
Aspose.Cells FOSS for TypeScript ถูกปล่อยภายใต้สัญญาอนุญาต MIT. โค้ดต้นฉบับสามารถเข้าถึงได้บน GitHub. การใช้เชิงพาณิชย์ได้รับอนุญาตตามเงื่อนไขของสัญญาอนุญาต MIT.