找回密码
 立即注册

QQ登录

只需一步,快速开始

祝祝祝

注册会员

16

主题

59

帖子

153

积分

注册会员

积分
153

[已处理] 数据校验

祝祝祝
注册会员   /  发表于:2021-9-29 10:12  /   查看:1816  /  回复:3
      let ser = 'A1'
      let dv1 = GC.Spread.Sheets.DataValidation.createFormulaValidator(`=ISNUMBER(${ser})*AND(LEN(${ser})-FIND(".",${ser}&".")<=2)`);
      dv1.ignoreBlank(false);
      sheet.setDataValidator(1, 1, dv1);


如何把ser的A1可以换成下标么?或者怎么可以不用A1实现校验

3 个回复

倒序浏览
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-29 11:39:01
推荐
祝祝祝 发表于 2021-9-29 11:15
就是说校验公式里面写的A1或者B1这种可以替换成坐标么
例如
`=ISNUMBER(A1)*AND(LEN(A1)-FIND(".",A1&" ...

你需要先将坐标0,0转为A1的形式,例如
  1. var a =0;
  2.                 var b =0;

  3.                 var range = new GC.Spread.Sheets.Range(a, b, 1,1)
  4.                 var value = GC.Spread.Sheets.CalcEngine.rangeToFormula(range, 0, 0, GC.Spread.Sheets.CalcEngine.RangeReferenceRelative.allRelative);

  5.                 console.log(value)
  6.                 spread.options.highlightInvalidData = true;
  7.                 var sheet = spread.getActiveSheet();
  8.                 let dv1 = GC.Spread.Sheets.DataValidation.createFormulaValidator(`=ISNUMBER(value)*AND(LEN(value)-FIND(".",value&".")<=2)`);
  9.                 dv1.ignoreBlank(false);
  10.                 sheet.setDataValidator(1, 1, dv1);
复制代码


回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-9-29 10:57:01
沙发
请问你的具体需求是什么呢?具体想要验证什么呢?如果想要验证某个数据验证公式是否可用,可以到在线表格编辑器进行验证

image.png725792236.png
回复 使用道具 举报
祝祝祝
注册会员   /  发表于:2021-9-29 11:15:06
板凳
Derrick.Jiao 发表于 2021-9-29 10:57
请问你的具体需求是什么呢?具体想要验证什么呢?如果想要验证某个数据验证公式是否可用,可以到在线表格编 ...

就是说校验公式里面写的A1或者B1这种可以替换成坐标么
例如
`=ISNUMBER(A1)*AND(LEN(A1)-FIND(".",A1&".")<=2)`
换成
`=ISNUMBER(0,0)*AND(LEN(0,0)-FIND(".",0,0&".")<=2)`
类似这种
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部