【问题标题】:Google Spreadsheet API setDataValidation with Regex带有正则表达式的 Google 电子表格 API setDataValidation
【发布时间】:2020-03-17 13:31:52
【问题描述】:

我正在尝试使用 Google 的 Node.Js 包通过其 API 生成带有一些验证的 Google 电子表格模板。

这是我当前的请求:

{
 "setDataValidation": {
    "range": {
      "sheetId": 1656514345,
      "startRowIndex": 0,
      "endRowIndex": 0,
      "startColumnIndex": 1,
      "endColumnIndex": 1000
    },
    "rule": {
      "condition": {
        "type": "CUSTOM_FORMULA",
        "values": [
          {
            "userEnteredValue": "=REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')"
          }
        ]
      },
      "inputMessage": "TEST VALIDATION",
      "strict": true
    }
  }

}

我收到以下错误:

Error: Invalid requests[0].setDataValidation: Invalid ConditionValue.userEnteredValue: =REGEXMATCH(TO_TEXT(A2:A1000); '([1-9]){4}[-]([1-9]){2}[-]([1-9]){2}$')

在电子表格中简单地创建或附加数据工作正常,但让正则表达式验证工作似乎是极限。在Documentation 中,RegEx 似乎没有限制,我的请求有什么问题?

提前致谢。

【问题讨论】:

    标签: google-sheets google-sheets-api google-api-nodejs-client


    【解决方案1】:

    您的表达式需要转义。

    "userEnteredValue": "=REGEXMATCH(TO_TEXT(A1), \"[0-9]{4}[-][0-9]{2}[-][0-9]{2}$\")"
    

    请注意,内部引号被转义(\" 而不是")。

    请注意,单引号也不起作用。

    【讨论】:

    • 是的,成功了,谢谢!是否可以在创建调用或仅在更新调用上添加单元验证?如果没有,有没有办法获取 creat 调用的 spreadsheetId 和 sheetId?
    • @sHamann 请在文档中搜索信息或提交新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-25
    相关资源
    最近更新 更多