استخدام الصيغ أو الوظائف لمعالجة البيانات

استخدام الصيغ والوظائف

Aspose.Cells يوفر فصل دراسي ،دفتر العمل ، يمثل ملف Excel Microsoft. الدفتر العمل فئة تحتوي علىأوراق عمل مجموعة تسمح بالوصول إلى كل ورقة عمل في ملف Excel. يتم تمثيل ورقة العمل بواسطةورقة عمل صف دراسي. الورقة عمل فئة توفر أCells مجموعة. كل عنصر فيCells تمثل المجموعة كائنًا منCellصف دراسي.

من الممكن تطبيق الصيغ على الخلايا باستخدام الخصائص والطرق التي يوفرهاCellالفصل ، بمزيد من التفصيل أدناه.

استخدام وظائف مدمجة

يتم توفير الوظائف أو الصيغ المضمنة كوظائف جاهزة لتقليل جهود المطورين والوقت. نرىقائمة الوظائف المدمجة. يتم سرد الوظائف بالترتيب الأبجدي. سيتم دعم المزيد من الوظائف في المستقبل.

يدعم Aspose.Cells معظم الصيغ أو الوظائف التي يوفرها Microsoft Excel. يمكن للمطورين استخدام هذه الصيغ من خلال API أوجدول بيانات المصمم. يدعم Aspose.Cells مجموعة ضخمة من الصيغ الرياضية ، والجمل ، والمنطقية ، والتاريخ / الوقت ، والإحصائية ، وقاعدة البيانات ، والبحث ، والصيغ المرجعية.

استخدم المعادلةممتلكاتCell فئة لإضافة صيغة إلى خلية.الصيغ المعقدة، على سبيل المثال

 = H7*(1+IF(P7 = $L$3,$M$3, (IF(P7=$L$4,$M$4,0))))

، يتم دعمها أيضًا في Aspose.Cells. عند تطبيق صيغة على خلية ، ابدأ دائمًا السلسلة بعلامة يساوي (=) كما تفعل عند إنشاء صيغة في Microsoft Excel واستخدم فاصلة (،) لتحديد معاملات الدالة.

في المثال أدناه ، يتم تطبيق صيغة معقدة على الخلية الأولى من ورقة العملCells مجموعة. تستخدم الصيغة ملفإذا الوظيفة المقدمة من Aspose.Cells.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Setting a complex formula on the 1st cell of the Cells collection of a worksheet
worksheet.getCells().get(0).setFormula("=H7*(1+IF(P7 =$L$3,$M$3, (IF(P7=$L$4,$M$4,0))))");

استخدام الوظائف الإضافية

يمكن أن يكون لدينا بعض الصيغ التي يحددها المستخدم والتي نريد تضمينها كوظيفة إضافية في Excel. عند ضبط ملفCell.Formula تعمل الوظائف المدمجة للوظيفة بشكل جيد ولكن هناك حاجة لتعيين الوظائف أو الصيغ المخصصة باستخدام وظائف الوظيفة الإضافية.

يوفر Aspose.Cells ميزات لتسجيل الوظائف الإضافية باستخدامأوراق العمل.. بعد ذلك عندما وضعناCell.Formula anyFunctionFromAddIn ، يحتوي ملف Excel الناتج على القيمة المحسوبة من الوظيفة الإضافية.

يجب تنزيل ملف XLAM التالي لتسجيل وظيفة الوظيفة الإضافية في نموذج التعليمات البرمجية أدناه. وبالمثل ، يمكن تنزيل ملف الإخراج “test_udf.xlsx” للتحقق من الإخراج.

TestUDF.xlam

test_udf.xlsx

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Create empty workbook
Workbook workbook = new Workbook();
// Register macro enabled add-in along with the function name
int id = workbook.getWorksheets().registerAddInFunction(srcDir + "TESTUDF.xlam", "TEST_UDF", false);
// Register more functions in the file (if any)
workbook.getWorksheets().registerAddInFunction(id, "TEST_UDF1"); //in this way you can add more functions that are in the same file
// Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
// Access first cell
Cell cell = worksheet.getCells().get("A1");
// Set formula name present in the add-in
cell.setFormula("=TEST_UDF()");
// Save workbook to output XLSX format.
workbook.save(outDir + "test_udf.xlsx", SaveFormat.XLSX);

باستخدام صيغة المصفوفة

صيغ الصفيف هي صيغ تعمل مع المصفوفات ، بدلاً من الأرقام الفردية ، كوسائط للدوال التي تشكل الصيغة. عندما يتم عرض صيغة مصفوفة ، فإنها محاطة بأقواس ({}) كما هو موضح أدناه.

تعيين صيغة صفيف في الخلية G2

ما يجب القيام به: image_بديل_نص

تقوم بعض دالات Microsoft Excel بإرجاع مصفوفات من القيم. لحساب نتائج متعددة باستخدام صيغة صفيف ، أدخل الصفيف في نطاق من الخلايا بنفس عدد الصفوف والأعمدة مثل وسيطات الصفيف.

من الممكن تطبيق صيغة صفيف على خلية عن طريق استدعاءCell صف دراسي'setArrayFormula طريقة. الsetArrayFormula تأخذ الطريقة المعلمات التالية:

  • صيغة المصفوفة، صيغة الصفيف.
  • عدد الصفوف، هو عدد الصفوف المراد نشرها نتيجة صيغة الصفيف.
  • عدد الأعمدة، هو عدد الأعمدة المطلوب ملء نتيجة صيغة الصفيف.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Setting an array formula on the cell "G2"
worksheet.getCells().get("G2").setArrayFormula("=LINEST(E2:E12,A2:D12,TRUE,TRUE)", 5, 3);

باستخدام صيغة R1C1

تطبيقR1C1 صيغة نمط مرجعي لخلية بامتدادCell صف دراسي'الصيغةخاصية.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Setting an R1C1 formula on the "A1" cell
worksheet.getCells().get("A1").setR1C1Formula("=SUM(R[1]C[3]:R[3]C[4])");