使用 python 更新 google 电子表格的单元格背景颜色

Update cell background color for google spreadsheet using python

我想使用 google api 更新具有 batchupdate 功能的电子表格中单元格的背景颜色。 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate 如果用值 value 和背景颜色 red.

更新单元格 sheet1!A1,我的请求应该是什么样的
  • 您想将 Google Spreadsheet 上 "Sheet1" 的 sheet 名称中的单元格 "A1" 的背景颜色更改为红色,使用Sheets API.
  • 的batchUpdate方法
  • 您想使用 google-api-python-client 和 python.
  • 来实现此目的
  • 您已经能够使用 Sheets API.
  • 获取和放置 Google Spreadsheet 的值

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

示例脚本:

service = build('sheets', 'v4', credentials=creds)

spreadsheetId = "###"  # Please set Spreadsheet ID
sheetId = "###"  # Please set sheet ID.

body = {
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "endRowIndex": 1,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "rows": [
          {
            "values": [
              {
                "userEnteredFormat": {
                  "backgroundColor": {
                    "red": 1
                  }
                }
              }
            ]
          }
        ],
        "fields": "userEnteredFormat.backgroundColor"
      }
    }
  ]
}
res = service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, body=body).execute()

注:

  • 此时要求范围写成GridRange
    • startRowIndex: 0, endRowIndex: 1m startColumnIndex: 0, endColumnIndex: 1 表示单元格 "A1".

参考文献:

如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

您可以使用简单的基本格式来更改单元格的背景颜色:

worksheet.format("A2:B2", {
    "backgroundColor": {
      "red": 0.0,
      "green": 0.0,
      "blue": 0.0
    }