找回密码
 立即注册

QQ登录

只需一步,快速开始

greatchn
金牌服务用户   /  发表于:2018-12-19 09:37  /   查看:2790  /  回复:3
我自定义了一个公式,参数是字符串,结果不能识别,被转成#NAME!,请问参数只能是数字和单元格吗?如果不是怎么设置,还有this.minArgs和maxArgs是什么意思?
代码如下:
  1. function newFormula() {
  2.     var activeSheet = spread.getActiveSheet();
  3.     function FactorialFunction() {
  4.         this.name = "cf_get_tax_cs";
  5.         this.maxArgs = 1;
  6.         this.minArgs = 1;
  7.     }
  8.     FactorialFunction.prototype = new GC.Spread.CalcEngine.Functions.Function();
  9.     FactorialFunction.prototype.evaluate = function () {
  10.         var result = 1, args = arguments;
  11.         console.log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
  12.         console.log("args",args);
  13.         console.log("■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■");
  14.         var val = getCellValue(0,0,0)
  15.         console.log(val)
  16.         return NSRSBH + val
  17.     }

  18.     var cf_get_tax_cs = new FactorialFunction();
  19.     activeSheet.addCustomFunction(cf_get_tax_cs);
  20.     // activeSheet.getCell(1,1).formula("factorial(0)");
  21.     sheet.setFormula(1,1,"=cf_get_tax_cs(nsrabh)");
  22.   }
复制代码


3 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-19 11:54:06
沙发
字符串参数需要用双引号引起来,不能用单引号也不能不带引号,

示例代码:

  1. activeSheet.setFormula(1, 1, '=SETCELL("AA")');
复制代码


我上传一个Demo ,您参考一下。

CustomFormula.html

2.1 KB, 下载次数: 87

回复 使用道具 举报
greatchn
金牌服务用户   /  发表于:2018-12-19 13:17:39
板凳
好的,谢谢您的回复,解决了我们很大问题!!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-12-19 14:05:02
地板
不客气,应该的,很高兴帮您解决了问题,本帖我结贴了,您有新的问题欢迎发新贴交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部