Class CalculationData
Namespace: Aspose.Cells
Assembly: Aspose.Cells.dll (25.2.0)
نماینده دادههای مورد نیاز هنگام محاسبه یک تابع، مانند نام تابع، پارامترها و غیره.
public class CalculationData
وراثت
اعضای وراثت یافته
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; }
مقدار ویژگی
توضیحات
کاربر باید این ویژگی را در موتور محاسباتی سفارشی خود برای آن توابعی که موتور پشتیبانی میکند، تنظیم کند، و مقدار تنظیم شده بعداً هنگام دریافت این ویژگی بازگردانده خواهد شد. مقدار تنظیم شده ممکن است از انواع ممکن Aspose.Cells.Cell.Value باشد، یا آرایهای از این نوع مقادیر، یا یک Range، Name، ReferredArea. دریافت این ویژگی قبل از تنظیم مقدار به آن، باعث میشود که تابع توسط موتور محاسباتی پیشفرض Aspose.Cells محاسبه شود و سپس مقدار محاسبه شده بازگردانده خواهد شد (به طور کلی باید #NAME؟ برای توابع تعریف شده توسط کاربر باشد).
Cell
شی Cell که تابع در آن قرار دارد را دریافت میکند.
public Cell Cell { get; }
مقدار ویژگی
توضیحات
هنگام محاسبه یک فرمول بدون تنظیم آن به یک سلول، مانند توسط 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; }
مقدار ویژگی
CellRow
اندیس ردیف سلولی که تابع در آن قرار دارد را دریافت میکند.
public int CellRow { get; }
مقدار ویژگی
FunctionName
نام تابعی که باید محاسبه شود را دریافت میکند.
public string FunctionName { get; }
مقدار ویژگی
ParamCount
تعداد پارامترها را دریافت میکند.
public int ParamCount { get; }
مقدار ویژگی
Workbook
شی Workbook که تابع در آن قرار دارد را دریافت میکند.
public Workbook Workbook { get; }
مقدار ویژگی
Worksheet
شی Worksheet که تابع در آن قرار دارد را دریافت میکند.
public Worksheet Worksheet { get; }
مقدار ویژگی
متدها
GetParamText(int)
متن ادبی پارامتر در اندیس داده شده را دریافت میکند.
public string GetParamText(int index)
پارامترها
index
int
اندیس پارامتر (بر اساس 0)
بازگشت
متن ادبی پارامتر
GetParamValue(int)
شی نمایندگی کننده مقدار پارامتر در اندیس داده شده را دریافت میکند.
public object GetParamValue(int index)
پارامترها
index
int
اندیس پارامتر (بر اساس 0)
بازگشت
مقدار محاسبه شده پارامتر.
توضیحات
برای یک پارامتر:
اگر مقدار ساده باشد، در این صورت خود مقدار ساده را بازمیگرداند؛
اگر مرجع باشد، در این صورت شی 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)، در غیر این صورت آرایه بزرگ بازگشتی ممکن است هزینه حافظه را با حجم زیادی از دادههای بیفایده افزایش دهد.