AbstractCalculationEngine
AbstractCalculationEngine class
يمثل محرك الحساب المخصص للمستخدم لتوسيع محرك الحساب الافتراضي لـ Aspose.Cells.
public abstract class AbstractCalculationEngine
الخصائص
اسم | وصف |
---|---|
virtual IsParamLiteralRequired { get; } | يشير إلى ما إذا كان هذا المحرك يحتاج إلى النص الحرفي للمعلمة أثناء إجراء الحساب. القيمة الافتراضية هي كاذبة. |
virtual ProcessBuiltInFunctions { get; } | ما إذا كان يجب فحص الوظائف المضمنة التي تم دعمها بواسطة المحرك المضمن ومعالجتها من خلال هذا التنفيذ. ضبط على أنه صحيح . |
طُرق
اسم | وصف |
---|---|
abstract Calculate(CalculationData) | حساب دالة واحدة ببيانات معينة. |
ملاحظات
يجب ألا يقوم المستخدم بتعديل أي جزء من المصنف مباشرةً في هذا التنفيذ (باستثناء النتيجة المحسوبة للدالة المخصصة ، والتي يمكن تعيينها بواسطة خاصية CalculationData.CalculatedValue) . وإلا فقد ينتج عن ذلك نتيجة غير متوقعة أو استثناء . إذا احتاج المستخدم إلى التغيير تؤدي البيانات الأخرى غير المحسوبة إلى تنفيذ بعض الوظائف المخصصة ، على سبيل المثال ، تغيير صيغة الخلية ونمطها … إلخ ، يجب على المستخدم جمع هذه البيانات في هذا التنفيذ وتغييرها خارج نطاق حساب الصيغة.
أمثلة
[C#]
public class MyEngine : AbstractCalculationEngine
{
public override void Calculate(CalculationData data)
{
string funcName = data.FunctionName.ToUpper();
if ("MYFUNC".Equals(funcName))
{
// قم بحساب MYFUNC هنا
int count = data.ParamCount;
object res = null;
for (int i = 0; i < count; i++)
{
object pv = data.GetParamValue(i);
if (pv is ReferredArea)
{
ReferredArea ra = (ReferredArea)pv;
pv = ra.GetValue(0, 0);
}
// معالجة المعلمة هنا
// الدقة = ... ;
}
data.CalculatedValue = res;
}
}
}
أنظر أيضا
- مساحة الاسم Aspose.Cells
- المجسم Aspose.Cells