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; }
ค่า Property
หมายเหตุ
ผู้ใช้ควรกำหนดคุณสมบัตินี้ในเอนจินการคำนวณที่กำหนดเองของเขาสำหรับฟังก์ชันที่เอนจินรองรับ และค่าที่ตั้งจะถูกส่งคืนเมื่อเรียกดูคุณสมบัตินี้ในภายหลัง ค่าที่ตั้งอาจเป็นประเภทที่เป็นไปได้ของ Aspose.Cells.Cell.Value หรืออาร์เรย์ของค่าประเภทดังกล่าว หรือช่วง ชื่อ พื้นที่อ้างอิง การเรียกดูคุณสมบัตินี้ก่อนการตั้งค่าค่าจะทำให้ฟังก์ชันถูกคำนวณ โดยเอนจินการคำนวณเริ่มต้นของ Aspose.Cells และจากนั้นค่าที่คำนวณจะถูกส่งคืน (โดยทั่วไปควรเป็น #NAME? สำหรับฟังก์ชันที่ผู้ใช้กำหนดเอง)
Cell
รับวัตถุ Cell ที่ฟังก์ชันอยู่ในนั้น
public Cell Cell { get; }
ค่า Property
หมายเหตุ
เมื่อคำนวณสูตรโดยไม่ตั้งค่าให้กับเซลล์ เช่น โดย 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; }
ค่า Property
CellRow
รับดัชนีแถวของเซลล์ที่ฟังก์ชันอยู่ในนั้น
public int CellRow { get; }
ค่า Property
FunctionName
รับชื่อฟังก์ชันที่ต้องการคำนวณ
public string FunctionName { get; }
ค่า Property
ParamCount
รับจำนวนพารามิเตอร์
public int ParamCount { get; }
ค่า Property
Workbook
รับวัตถุ Workbook ที่ฟังก์ชันอยู่ในนั้น
public Workbook Workbook { get; }
ค่า Property
Worksheet
รับวัตถุ Worksheet ที่ฟังก์ชันอยู่ในนั้น
public Worksheet Worksheet { get; }
ค่า Property
วิธีการ
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)
รับค่า(s) ของพารามิเตอร์ที่ดัชนีที่กำหนด ถ้าพารามิเตอร์เป็นประเภทของนิพจน์ที่ต้องคำนวณ จะคำนวณในโหมดอาร์เรย์
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) มิฉะนั้น อาร์เรย์ขนาดใหญ่ที่ส่งคืนอาจเพิ่มค่าใช้จ่ายด้านหน่วยความจำด้วยข้อมูลที่ไม่จำเป็นจำนวนมาก