类Excel表达式:想实现“拼接json字符串的同时,进行算术运算”的功能

afang 2020-12-22 · 8个月前
2 260

您好,我在使用类Excel公式进行字符串拼接是遇到了点问题:

变量{137}字符串如下:[

{
"Success": true,
"WorkSheet": "多账户查询业务处理结果",
"FindRanges": [
{
"Address": "A2",
"Value": "查询账号[ Inquirer account number ]",
"RangeInfo": {
"StartRangeAddress": "A2",
"EndRangeAddress": "A2",
"StartColumnName": "A",
"StartColumnIndex": 1,
"EndColumnIndex": 1,
"EndColumnName": "A",
"StartRow": 2,
"EndRow": 2,
"Columns": 1,
"Rows": 1,
"Count": 1,
"Address": "A2:A2"
}
},
{
"Address": "A22",
"Value": "查询账号[ Inquirer account number ]",
"RangeInfo": {
"StartRangeAddress": "A22",
"EndRangeAddress": "A22",
"StartColumnName": "A",
"StartColumnIndex": 1,
"EndColumnIndex": 1,
"EndColumnName": "A",
"StartRow": 22,
"EndRow": 22,
"Columns": 1,
"Rows": 1,
"Count": 1,
"Address": "A22:A22"
}
},
{
"Address": "A31",
"Value": "查询账号[ Inquirer account number ]",
"RangeInfo": {
"StartRangeAddress": "A31",
"EndRangeAddress": "A31",
"StartColumnName": "A",
"StartColumnIndex": 1,
"EndColumnIndex": 1,
"EndColumnName": "A",
"StartRow": 31,
"EndRow": 31,
"Columns": 1,
"Rows": 1,
"Count": 1,
"Address": "A31:A31"
}
}
]
}
]

变量{153}为索引,此处{153}=0

我想实现类似:="A"&(1+1)的功能

即:="{137}[0].FindRanges["&({153}+1)&"].RangeInfo.StartRangeAddress"  (此行执行报错)

请问有样例可以实现吗?

论坛帖子(共 2 条评论)

kuki不苦 8个月前 0

看了一下,你的这个表达式不是一个合法的类Excel表达式吧~

把你的那个{153}+1单独算出来再用呢,应该就可以了。[[嘻嘻]]

leoliu 8个月前 0

之所以执行错误是2个原因:

1. 方式1,不是合法的变量Json表达式: {137}[0].FindRanges[{153}+1].RangeInfo.StartRangeAddress

  因为表达式中间[]内有{153}+1这样的内容,而变量Json表达式的[]内目前只支持单一的变量({153})或数值(2)或字符串(‘名字’或"名字"),所以导致该表达式无法从头到尾地被解析为一个完整的变量Json表达式,只有前面一小部分{137}[0].FindRanges 被作为合法的变量json表达式而被解析了,剩下的都是直接文本字符串。

   之所以[]里面不支持复杂的表达式,是为了避免误匹配(用户本意就是普通的文本,而不是Json表达式)

2. 方式2,先解析变量Json表达式,再执行Excel公式,所以还是被部分解析了: ="{137}[0].FindRanges["&({153}+1)&"].RangeInfo.StartRangeAddress"

  同上,因为表达式中间有"&({153}+1)&"这样的内容,且先解析变量Json表达式的值,然后再代入Excel进行计算。


可选对策

1. 方法1: 用“变量赋值”节点,通过类Excel表达式先把{153}+1的结果赋值给其它变量(例如:{321}),然后在这里引用{321}  {137}[0].FindRanges[{321}].RangeInfo.StartRangeAddress

2. 方法2: 用“Json解析”节点,{137}之后的部分,用类Excel表达式拼接后,作为路径放到子路径中

  • 最新留言
  • 最近热帖
  • 最热词云

属于iBot的bbs

在这里,您可以提问,回答,分享,诉说,这是个属于所有iBot用户的社区,欢迎您的加入!