本帖最后由 Derrick.Jiao 于 2021-11-23 10:48 编辑
这部分目前是封装好的,暂不支持添加。我们这边也调研一下,看下是否有其他的可行性方案。若没有其他更好的方案,我们会将这个问题做为需求给我们研发做进一步评估,评估通过后,我们会在后面的版本实现。
当然,自定义公式还是可以正常在设计器中使用的,例如下面的代码。
- var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById("designer_host"));
- var spread = designer.getWorkbook();
- var spread = designer.getWorkbook();
- function FactorialFunction() {
- this.name = "FACTORIAL";
- this.maxArgs = 1;
- this.minArgs = 1;
- this.description = function () {
- return (
- {
- description: "菲波那切数列",
- parameters: [
- {
- name: 'number01',
- repeatable: false,
- optional: false
- }
- ]
- }
- )
- }
- }
- FactorialFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
- FactorialFunction.prototype.evaluate = function (arg) {
- var result = 1;
- if (arguments.length === 1 && !isNaN(parseInt(arg))) {
- for (var i = 1; i <= arg; i++) {
- result = i * result;
- }
- return result;
- }
- return "#VALUE!";
- };
- var factorial = new FactorialFunction();
- let sheet = spread.getActiveSheet()
- spread.addCustomFunction(factorial)
- sheet.setFormula(4, 2, "=factorial(5)");
复制代码
|