如何使用Google Sheets python API脚本有条件地基于单个单元格格式化整个行?

时间:2018-11-28 14:12:33

标签: google-sheets formatting conditional row google-sheets-api

我能够使用Google Sheets API(python)来根据用户输入值而不是整个行有条件地设置单个单元格的格式(更改单元格的颜色)。有什么办法吗?这是我正在使用的代码,适用于单个单元格(只是要更改的单元格)。

"addConditionalFormatRule": {
        "rule": {
          "ranges": [
            {
              "sheetId": tabidnumber,
              "startRowIndex": 1,
              "endRowIndex": row_count  

            }
          ],
          "booleanRule": {
            "condition": {
              "type": "TEXT_EQ",
              "values": [
                {
                  "userEnteredValue": "WAITING"
                }
              ]
            },
            "format": {
                "backgroundColor": {
                "green": 0.5,
                "red": 0.5,
              }},

            }

        },
        "index": 1
      }
    }

谢谢!

1 个答案:

答案 0 :(得分:1)

例如,当startRowIndex为1且未使用endRowIndex时,Sheets API使用从Sheet第2行到行尾的范围。因此,请从您的请求正文中的endRowIndex中删除ranges,然后尝试再次运行。这样,此更新将反映到工作表的整个行。

修改后的请求正文:

"addConditionalFormatRule": {
  "rule": {
    "ranges": [
      {
        "sheetId": tabidnumber,
        "startRowIndex": 1
      }
    ],
    "booleanRule": {
      "condition": {
        "type": "TEXT_EQ",
        "values": [
          {
            "userEnteredValue": "WAITING"
          }
        ]
      },
      "format": {
        "backgroundColor": {
          "green": 0.5,
          "red": 0.5
        }
      }
    }
  },
  "index": 1
}

注意:

  • 我从经验中知道这一点。尽管我一直在寻找与此相关的参考文档,但找不到。对不起。