مقدمة

توفر 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");

التصفية التلقائية

تمكين رؤوس الفلتر التلقائي على نطاق البيانات باستخدام 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.


البدء

الموارد ذات الصلة