Class CalculationData

Class CalculationData

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

Đại diện cho dữ liệu cần thiết khi tính toán một hàm, chẳng hạn như tên hàm, tham số, …v.v.

public class CalculationData

Kế thừa

objectCalculationData

Các thành viên kế thừa

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

Nhận xét

Tất cả các đối tượng được cung cấp bởi lớp này chỉ dành cho mục đích “đọc”. Người dùng không nên thay đổi bất kỳ dữ liệu nào trong Workbook trong quá trình tính toán công thức, Nếu không, kết quả không mong muốn hoặc ngoại lệ có thể xảy ra.

Thuộc tính

CalculatedValue

Lấy hoặc thiết lập giá trị đã tính toán cho hàm này.

public object CalculatedValue { get; set; }

Giá trị thuộc tính

object

Nhận xét

Người dùng nên thiết lập thuộc tính này trong động cơ tính toán tùy chỉnh của mình cho những hàm mà động cơ hỗ trợ, và giá trị được thiết lập sẽ được trả về khi lấy thuộc tính này sau đó. Giá trị được thiết lập có thể là các loại có thể của Aspose.Cells.Cell.Value, hoặc mảng của các loại giá trị đó, hoặc một Range, Name, ReferredArea. Lấy thuộc tính này trước khi thiết lập giá trị cho nó sẽ khiến hàm được tính toán bởi động cơ tính toán mặc định của Aspose.Cells và sau đó giá trị đã tính toán sẽ được trả về (thông thường nó sẽ là #NAME? cho các hàm do người dùng định nghĩa).

Cell

Lấy đối tượng Cell nơi hàm đang ở.

public Cell Cell { get; }

Giá trị thuộc tính

Cell

Nhận xét

Khi tính toán một công thức mà không thiết lập nó vào một ô, chẳng hạn như bởi Aspose.Cells.Worksheet.CalculateFormula(System.String,Aspose.Cells.CalculationOptions), công thức sẽ được tính toán như thể nó đã được thiết lập vào ô A1, vì vậy cả Aspose.Cells.CalculationData.CellRow và Aspose.Cells.CalculationData.CellColumn đều là 0. Tuy nhiên, ô A1 trong bảng tính có thể chưa được khởi tạo. Vì vậy, trong trường hợp như vậy, thuộc tính này sẽ là null.

CellColumn

Lấy chỉ số cột của ô nơi hàm đang ở.

public int CellColumn { get; }

Giá trị thuộc tính

int

CellRow

Lấy chỉ số hàng của ô nơi hàm đang ở.

public int CellRow { get; }

Giá trị thuộc tính

int

FunctionName

Lấy tên hàm sẽ được tính toán.

public string FunctionName { get; }

Giá trị thuộc tính

string

ParamCount

Lấy số lượng tham số

public int ParamCount { get; }

Giá trị thuộc tính

int

Workbook

Lấy đối tượng Workbook nơi hàm đang ở.

public Workbook Workbook { get; }

Giá trị thuộc tính

Workbook

Worksheet

Lấy đối tượng Worksheet nơi hàm đang ở.

public Worksheet Worksheet { get; }

Giá trị thuộc tính

Worksheet

Phương thức

GetParamText(int)

Lấy văn bản nguyên văn của tham số tại chỉ số đã cho.

public string GetParamText(int index)

Tham số

index int

chỉ số của tham số (bắt đầu từ 0)

Trả về

string

văn bản nguyên văn của tham số

GetParamValue(int)

Lấy đối tượng giá trị đại diện của tham số tại chỉ số đã cho.

public object GetParamValue(int index)

Tham số

index int

chỉ số của tham số (bắt đầu từ 0)

Trả về

object

giá trị đã tính toán của tham số.

Nhận xét

Đối với một tham số:

Nếu nó là giá trị đơn giản, thì trả về giá trị đơn giản đó;

Nếu nó là tham chiếu, thì trả về đối tượng ReferredArea;

Nếu nó tham chiếu đến tập dữ liệu với nhiều giá trị, thì trả về mảng các đối tượng;

Nếu nó là một loại biểu thức nào đó cần được tính toán, thì nó sẽ được tính toán ở chế độ giá trị và thông thường một giá trị đơn sẽ được trả về theo cơ sở ô hiện tại. Ví dụ, nếu một tham số của công thức D2 là A:A+B:B, thì A2+B2 sẽ được tính toán và trả về. Tuy nhiên, nếu tham số này đã được chỉ định là chế độ mảng (bởi Aspose.Cells.Workbook.UpdateCustomFunctionDefinition(Aspose.Cells.CustomFunctionDefinition) hoặc Aspose.Cells.FormulaParseOptions.CustomFunctionDefinition), thì một mảng (object[][]) sẽ được trả về với các mục là A1+B1, A2+B2,....

GetParamValueInArrayMode(int, int, int)

Lấy giá trị của tham số tại chỉ số đã cho. Nếu tham số là một loại biểu thức nào đó cần được tính toán, thì nó sẽ được tính toán ở chế độ mảng.

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

Tham số

index int

chỉ số của tham số (bắt đầu từ 0)

maxRowCount int

giới hạn số hàng cho mảng trả về. Nếu nó không dương hoặc lớn hơn số hàng thực tế, thì số hàng thực tế sẽ được sử dụng.

maxColumnCount int

giới hạn số cột cho mảng trả về. Nếu nó không dương hoặc lớn hơn số cột thực tế, thì số cột thực tế sẽ được sử dụng.

Trả về

object[][]

Một mảng chứa tất cả các mục được đại diện bởi tham số đã chỉ định.

Nhận xét

Đối với một biểu thức cần được tính toán, lấy A:A+B:B làm ví dụ: Trong chế độ giá trị, nó sẽ được tính toán thành một giá trị đơn theo cơ sở ô hiện tại. Nhưng trong chế độ mảng, tất cả các giá trị của A1+B1, A2+B2, A3+B3,… sẽ được tính toán và được sử dụng để xây dựng mảng trả về. Và trong trường hợp như vậy, tốt hơn là chỉ định giới hạn cho số hàng/cột (chẳng hạn theo Aspose.Cells.Cells.MaxDataRow và Aspose.Cells.Cells.MaxDataColumn), nếu không, mảng lớn trả về có thể làm tăng chi phí bộ nhớ với một lượng lớn dữ liệu không cần thiết.

 Tiếng Việt