请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

allen.leng

初级会员

19

主题

84

帖子

327

积分

初级会员

积分
327
allen.leng
初级会员   /  发表于:2025-4-7 14:00  /   查看:93  /  回复:3
如图所示   我对worksheet的AD列设置了个列表验证,如何通过formula获取具体的列表。
图里显示的formula为何是固定F12的值,GC.Spread.Sheets.CalcEngine.evaluateFormula(activeSheet, `TEXTJOIN("|||",true,${sourceFormula})`).split("|||")

以至于我通过这种方式无法获取对应行的数据
image.png501163024.png

test.zip

192.83 KB, 下载次数: 3

3 个回复

倒序浏览
不吐葡萄皮
初级会员   /  发表于:2025-4-7 15:03:08
沙发
这里使用了相对引用在验证公式中,公式是以选定的左上角区域为基准的,所以要两次传入基准单元格才能取到值。
  1. let range = GC.Spread.Sheets.CalcEngine.formulaToRange(sheet, "AD12:AD103");

  2. let expr = GC.Spread.Sheets.CalcEngine.formulaToExpression(sheet, `TEXTJOIN("|||",true,${sourceFormula})`, range.row, range.col);

  3. GC.Spread.Sheets.CalcEngine.evaluateExpression(sheet, expr, 22,29)
复制代码
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2025-4-7 17:55:42
板凳
不吐葡萄皮 发表于 2025-4-7 15:03
这里使用了相对引用在验证公式中,公式是以选定的左上角区域为基准的,所以要两次传入基准单元格才能取到值 ...

回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-4-16 12:14:47
地板
您好!请教下您的问题解决的怎么样了?如果还未解决,可以同步下最新进展,咱们继续讨论下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部