Class CalculationData

Class CalculationData

Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)

نماینده داده‌های مورد نیاز هنگام محاسبه یک تابع، مانند نام تابع، پارامترها و غیره.

public class CalculationData

وراثت

objectCalculationData

اعضای وراثت یافته

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

توضیحات

تمام اشیایی که توسط این کلاس ارائه شده‌اند، فقط برای هدف “خواندن” هستند. کاربر نباید هیچ داده‌ای را در Workbook در حین فرآیند محاسبه فرمول تغییر دهد، در غیر این صورت ممکن است نتیجه غیرمنتظره یا استثنایی ایجاد شود.

ویژگی‌ها

CalculatedValue

مقدار محاسبه شده برای این تابع را دریافت یا تنظیم می‌کند.

public object CalculatedValue { get; set; }

مقدار ویژگی

object

توضیحات

کاربر باید این ویژگی را در موتور محاسباتی سفارشی خود برای آن توابعی که موتور پشتیبانی می‌کند، تنظیم کند، و مقدار تنظیم شده بعداً هنگام دریافت این ویژگی بازگردانده خواهد شد. مقدار تنظیم شده ممکن است از انواع ممکن Aspose.Cells.Cell.Value باشد، یا آرایه‌ای از این نوع مقادیر، یا یک Range، Name، ReferredArea. دریافت این ویژگی قبل از تنظیم مقدار به آن، باعث می‌شود که تابع توسط موتور محاسباتی پیش‌فرض Aspose.Cells محاسبه شود و سپس مقدار محاسبه شده بازگردانده خواهد شد (به طور کلی باید #NAME؟ برای توابع تعریف شده توسط کاربر باشد).

Cell

شی Cell که تابع در آن قرار دارد را دریافت می‌کند.

public Cell Cell { get; }

مقدار ویژگی

Cell

توضیحات

هنگام محاسبه یک فرمول بدون تنظیم آن به یک سلول، مانند توسط Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), فرمول به گونه‌ای محاسبه می‌شود که گویی به سلول A1 تنظیم شده است، بنابراین هر دو Aspose.Cells.CalculationData.CellRow و Aspose.Cells.CalculationData.CellColumn برابر با 0 هستند. با این حال، سلول A1 در ورک‌شیت ممکن است ایجاد نشده باشد. بنابراین برای چنین وضعیتی این ویژگی null خواهد بود.

CellColumn

اندیس ستون سلولی که تابع در آن قرار دارد را دریافت می‌کند.

public int CellColumn { get; }

مقدار ویژگی

int

CellRow

اندیس ردیف سلولی که تابع در آن قرار دارد را دریافت می‌کند.

public int CellRow { get; }

مقدار ویژگی

int

FunctionName

نام تابعی که باید محاسبه شود را دریافت می‌کند.

public string FunctionName { get; }

مقدار ویژگی

string

ParamCount

تعداد پارامترها را دریافت می‌کند.

public int ParamCount { get; }

مقدار ویژگی

int

Workbook

شی Workbook که تابع در آن قرار دارد را دریافت می‌کند.

public Workbook Workbook { get; }

مقدار ویژگی

Workbook

Worksheet

شی Worksheet که تابع در آن قرار دارد را دریافت می‌کند.

public Worksheet Worksheet { get; }

مقدار ویژگی

Worksheet

متدها

GetParamText(int)

متن ادبی پارامتر در اندیس داده شده را دریافت می‌کند.

public string GetParamText(int index)

پارامترها

index int

اندیس پارامتر (بر اساس 0)

بازگشت

string

متن ادبی پارامتر

GetParamValue(int)

شی نمایندگی کننده مقدار پارامتر در اندیس داده شده را دریافت می‌کند.

public object GetParamValue(int index)

پارامترها

index int

اندیس پارامتر (بر اساس 0)

بازگشت

object

مقدار محاسبه شده پارامتر.

توضیحات

برای یک پارامتر:

اگر مقدار ساده باشد، در این صورت خود مقدار ساده را بازمی‌گرداند؛

اگر مرجع باشد، در این صورت شی ReferredArea را بازمی‌گرداند؛

اگر به مجموعه داده‌هایی با مقادیر چندگانه اشاره کند، در این صورت آرایه‌ای از اشیاء را بازمی‌گرداند؛

اگر نوعی از بیان باشد که نیاز به محاسبه دارد، در این صورت در حالت مقدار محاسبه خواهد شد و به طور کلی یک مقدار واحد بر اساس سلول فعلی بازگردانده خواهد شد. به عنوان مثال، اگر یکی از پارامترهای فرمول D2 A:A+B:B باشد، در این صورت A2+B2 محاسبه و بازگردانده خواهد شد. با این حال، اگر این پارامتر به عنوان حالت آرایه مشخص شده باشد (توسط Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) یا Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition)، در این صورت آرایه‌ای (object[][]) بازگردانده خواهد شد که اقلام آن A1+B1,A2+B2,... است.

GetParamValueInArrayMode(int, int, int)

مقدار(های) پارامتر در اندیس داده شده را دریافت می‌کند. اگر پارامتر نوعی از بیان باشد که نیاز به محاسبه دارد، در این صورت در حالت آرایه محاسبه خواهد شد.

public object[][] GetParamValueInArrayMode(int index, int maxRowCount, int maxColumnCount)

پارامترها

index int

اندیس پارامتر (بر اساس 0)

maxRowCount int

محدودیت تعداد ردیف برای آرایه بازگشتی. اگر غیر مثبت یا بزرگتر از تعداد ردیف واقعی باشد، در این صورت تعداد ردیف واقعی استفاده خواهد شد.

maxColumnCount int

محدودیت تعداد ستون برای آرایه بازگشتی. اگر غیر مثبت یا بزرگتر از تعداد ستون واقعی باشد، در این صورت تعداد ستون واقعی استفاده خواهد شد.

بازگشت

object[][]

آرایه‌ای که شامل تمام اقلام نمایندگی شده توسط پارامتر مشخص شده است.

توضیحات

برای یک بیان که نیاز به محاسبه دارد، با در نظر گرفتن A:A+B:B به عنوان مثال: در حالت مقدار به یک مقدار واحد بر اساس سلول فعلی محاسبه خواهد شد. اما در حالت آرایه، تمام مقادیر A1+B1,A2+B2,A3+B3,… محاسبه و برای ساخت آرایه بازگشتی استفاده خواهند شد. و برای چنین وضعیتی، بهتر است محدودیتی برای تعداد ردیف/ستون مشخص شود (مانند بر اساس Aspose.Cells.Cells.MaxDataRow و Aspose.Cells.Cells.MaxDataColumn)، در غیر این صورت آرایه بزرگ بازگشتی ممکن است هزینه حافظه را با حجم زیادی از داده‌های بی‌فایده افزایش دهد.

 فارسی