مقدمه
Aspose.Cells FOSS برای 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");
فیلتر خودکار
سرصفحههای فیلتر خودکار را بر روی یک بازه داده با 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 اضافه کنید.
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.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 برای TypeScript تحت مجوز MIT منتشر شده است. کد منبع در GitHub در دسترس است. استفاده تجاری تحت شرایط مجوز MIT مجاز است.