You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: english/nodejs-cpp/abstractcalculationengine/_index.md
+34-34Lines changed: 34 additions & 34 deletions
Original file line number
Diff line number
Diff line change
@@ -21,88 +21,88 @@ User should not modify any part of the Workbook directly in this implementation(
21
21
22
22
| Method | Description |
23
23
| --- | --- |
24
-
|[calculate(CalculationData)](#calculate-calculationdata-)| Calculates one function with given data. |
25
-
|[forceRecalculate(string)](#forceRecalculate-string-)| Whether force given function to be recalculated always when calculating shared formulas. |
26
24
| abstract [isParamLiteralRequired()](#isParamLiteralRequired--)| Indicates whether this engine needs the literal text of parameter while doing calculation. Default value is false. |
27
25
| abstract [isParamArrayModeRequired()](#isParamArrayModeRequired--)| Indicates whether this engine needs the parameter to be calculated in array mode. Default value is false. If [CalculationData.GetParamValueInArrayMode(int, int, int)](../calculationdata.getparamvalueinarraymode(int, int, int)/) is required when calculating custom functions and user has not updated the definition for them (by [Workbook.UpdateCustomFunctionDefinition(CustomFunctionDefinition)](../workbook.updatecustomfunctiondefinition(customfunctiondefinition)/)), this property needs to be set as true. |
28
26
| abstract [getProcessBuiltInFunctions()](#getProcessBuiltInFunctions--)| Whether built-in functions that have been supported by the built-in engine should be checked and processed by this implementation. Default is false. |
27
+
| abstract [calculate(CalculationData)](#calculate-calculationdata-)| Calculates one function with given data. |
28
+
| abstract [forceRecalculate(string)](#forceRecalculate-string-)| Whether force given function to be recalculated always when calculating shared formulas. |
Indicates whether this engine needs the literal text of parameter while doing calculation. Default value is false.
34
34
35
35
```javascript
36
-
calculate(data: CalculationData) :void;
36
+
abstract isParamLiteralRequired() :boolean;
37
37
```
38
38
39
-
**Parameters:**
40
-
| Parameter | Type | Description |
41
-
| --- | --- | --- |
42
-
| data |[CalculationData](../calculationdata/)| the required data to calculate function such as function name, parameters, ...etc. |
43
39
44
40
**Remarks**
45
41
46
-
User should set the calculated value for given data for all functions(including excel native functions) that he wants to calculate by himself in this implementation.
42
+
If this custom calculation engine needs the parameter's literal text, more stacks will be required to cache the literal text for parameters and Calculate() method may be called recursively to calculate the parameter's value. Generally the literal text is not needed for calculating formulas and this property should be kept as false for most implementations to get better performance.
Whether force given function to be recalculated always when calculating shared formulas.
46
+
Indicates whether this engine needs the parameter to be calculated in array mode. Default value is false. If [CalculationData.GetParamValueInArrayMode(int, int, int)](../calculationdata.getparamvalueinarraymode(int, int, int)/) is required when calculating custom functions and user has not updated the definition for them (by [Workbook.UpdateCustomFunctionDefinition(CustomFunctionDefinition)](../workbook.updatecustomfunctiondefinition(customfunctiondefinition)/)), this property needs to be set as true.
51
47
52
48
```javascript
53
-
forceRecalculate(functionName: string) : boolean;
49
+
abstract isParamArrayModeRequired() : boolean;
54
50
```
55
51
56
-
**Parameters:**
57
-
| Parameter | Type | Description |
58
-
| --- | --- | --- |
59
-
| functionName | string | name of the function. Generally it is custom function's name. /// If [ProcessBuiltInFunctions](../processbuiltinfunctions/) is true, then built-in functions will also be checked here. |
60
-
61
-
**Returns**
62
-
63
-
true if the specified function needs to be recalculated always.
64
52
65
53
**Remarks**
66
54
67
-
For shared formulas, multiple cells share the same function. If the function's parameters keep same for those cells too, then generally this function needs to be calculated only once. So for performance consideration we only calculate such kind of function once too([Calculate(CalculationData)](../calculate(calculationdata)/) is called only once, instead of being called repeatedly for every cell). However, for user's custom implementation, maybe the function, especially the custom function, needs to be calculated differently for different cells. If so, user needs to override this method to make it return true for the function. And for [Calculate(CalculationData)](../calculate(calculationdata)/), the given [CalculationData.CalculatedValue](../calculationdata.calculatedvalue/) may have been initialized with the cached value of previous calculation.
55
+
If this custom calculation engine needs the parameter to be calculated in array mode, more stacks will be required to cache the tree for parameters and Calculate() method may be called recursively to calculate the parameter's value. For performance consideration, please keep this property as the default value(false) if there is no special requirement.
Indicates whether this engine needs the literal text of parameter while doing calculation. Default value is false.
59
+
Whether built-in functions that have been supported by the built-in engine should be checked and processed by this implementation. Default is false.
72
60
73
61
```javascript
74
-
abstract isParamLiteralRequired() : boolean;
62
+
abstract getProcessBuiltInFunctions() : boolean;
75
63
```
76
64
77
65
78
66
**Remarks**
79
67
80
-
If this custom calculation engine needs the parameter's literal text, more stacks will be required to cache the literal text for parameters and Calculate() method may be called recursively to calculate the parameter's value. Generally the literal text is not needed for calculating formulas and this property should be kept as false for most implementations to get better performance.
68
+
If user needs to change the calculation logic of some built-in functions, this property should be set as true. Otherwise please leave this property as false for performance consideration.
Indicates whether this engine needs the parameter to be calculated in array mode. Default value is false. If [CalculationData.GetParamValueInArrayMode(int, int, int)](../calculationdata.getparamvalueinarraymode(int, int, int)/) is required when calculating custom functions and user has not updated the definition for them (by [Workbook.UpdateCustomFunctionDefinition(CustomFunctionDefinition)](../workbook.updatecustomfunctiondefinition(customfunctiondefinition)/)), this property needs to be set as true.
72
+
Calculates one function with given data.
85
73
86
74
```javascript
87
-
abstract isParamArrayModeRequired() :boolean;
75
+
abstract calculate(data: CalculationData) :void;
88
76
```
89
77
78
+
**Parameters:**
79
+
| Parameter | Type | Description |
80
+
| --- | --- | --- |
81
+
| data |[CalculationData](../calculationdata/)| the required data to calculate function such as function name, parameters, ...etc. |
90
82
91
83
**Remarks**
92
84
93
-
If this custom calculation engine needs the parameter to be calculated in array mode, more stacks will be required to cache the tree for parameters and Calculate() method may be called recursively to calculate the parameter's value. For performance consideration, please keep this property as the default value(false) if there is no special requirement.
85
+
User should set the calculated value for given data for all functions(including excel native functions) that he wants to calculate by himself in this implementation.
| functionName | string | name of the function. Generally it is custom function's name. /// If [ProcessBuiltInFunctions](../processbuiltinfunctions/) is true, then built-in functions will also be checked here. |
99
+
100
+
**Returns**
101
+
102
+
true if the specified function needs to be recalculated always.
103
103
104
104
**Remarks**
105
105
106
-
If user needs to change the calculation logic of some built-in functions, this property should be set as true. Otherwise please leave this property as false for performance consideration.
106
+
For shared formulas, multiple cells share the same function. If the function's parameters keep same for those cells too, then generally this function needs to be calculated only once. So for performance consideration we only calculate such kind of function once too([Calculate(CalculationData)](../calculate(calculationdata)/) is called only once, instead of being called repeatedly for every cell). However, for user's custom implementation, maybe the function, especially the custom function, needs to be calculated differently for different cells. If so, user needs to override this method to make it return true for the function. And for [Calculate(CalculationData)](../calculate(calculationdata)/), the given [CalculationData.CalculatedValue](../calculationdata.calculatedvalue/) may have been initialized with the cached value of previous calculation.
Copy file name to clipboardExpand all lines: english/nodejs-cpp/abstractformulachangemonitor/_index.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -21,16 +21,16 @@ For example, while deleting/inserting range of cells, formulas of other cells ma
21
21
22
22
| Method | Description |
23
23
| --- | --- |
24
-
|[onCellFormulaChanged(number, number, number)](#onCellFormulaChanged-number-number-number-)| The event that will be triggered when the formula in a cell is changed. |
25
-
|[onFormatConditionFormulaChanged(FormatCondition)](#onFormatConditionFormulaChanged-formatcondition-)| The event that will be triggered when the formula of FormatCondition is changed. |
24
+
|abstract [onCellFormulaChanged(number, number, number)](#onCellFormulaChanged-number-number-number-)| The event that will be triggered when the formula in a cell is changed. |
25
+
|abstract [onFormatConditionFormulaChanged(FormatCondition)](#onFormatConditionFormulaChanged-formatcondition-)| The event that will be triggered when the formula of FormatCondition is changed. |
Releases resources after processing currently part of input.
41
+
Gets the load options from which to load data of currently processed part.
42
42
43
43
```javascript
44
-
finish(part: LowCodeLoadOptions) :void;
44
+
getCurrent() :LowCodeLoadOptions;
45
45
```
46
46
47
-
**Parameters:**
48
-
| Parameter | Type | Description |
49
-
| --- | --- | --- |
50
-
| part |[LowCodeLoadOptions](../lowcodeloadoptions/)| the load options used for currently split part. |
51
47
52
-
**Remarks**
48
+
**Returns**
53
49
54
-
By default this method just closes the stream specified by the [LowCodeLoadOptions.InputStream](../lowcodeloadoptions.inputstream/) directly(if the load options specified a Stream as source). User may overwrite this method to control how to release resources according to their requirement and the implementation of [Current](../current/).
Gets the load options from which to load data of currently processed part.
63
+
Releases resources after processing currently part of input.
68
64
69
65
```javascript
70
-
getCurrent() :LowCodeLoadOptions;
66
+
finish(part: LowCodeLoadOptions) :void;
71
67
```
72
68
69
+
**Parameters:**
70
+
| Parameter | Type | Description |
71
+
| --- | --- | --- |
72
+
| part |[LowCodeLoadOptions](../lowcodeloadoptions/)| the load options used for currently split part. |
73
73
74
-
**Returns**
74
+
**Remarks**
75
75
76
-
[LowCodeLoadOptions](../lowcodeloadoptions/)
76
+
By default this method just closes the stream specified by the [LowCodeLoadOptions.InputStream](../lowcodeloadoptions.inputstream/) directly(if the load options specified a Stream as source). User may overwrite this method to control how to release resources according to their requirement and the implementation of [Current](../current/).
Copy file name to clipboardExpand all lines: english/nodejs-cpp/abstractlowcodesaveoptionsprovider/_index.md
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -19,9 +19,18 @@ class AbstractLowCodeSaveOptionsProvider;
19
19
20
20
| Method | Description |
21
21
| --- | --- |
22
+
|[isNull()](#isNull--)| Checks whether the implementation object is null. |
22
23
|[getSaveOptions(SplitPartInfo)](#getSaveOptions-splitpartinfo-)| Gets the save options from which to get the output settings for currently split part. Returning null denotes to skip given part. |
23
24
|[finish(LowCodeSaveOptions)](#finish-lowcodesaveoptions-)| Releases resources after processing currently split part. |
24
-
|[isNull()](#isNull--)| Checks whether the implementation object is null. |
By default this method just closes the stream specified by the [LowCodeSaveOptions.OutputStream](../lowcodesaveoptions.outputstream/) directly(if the save options specified a Stream as destination). User may overwrite this method to control how to release resources according to their requirement and the implementation of [GetSaveOptions(SplitPartInfo)](../getsaveoptions(splitpartinfo)/).
0 commit comments