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

Jos*_*gau 2 python google-api-python-client google-sheets-api

我想使用 google api 用batchupdate函数更新电子表格中单元格的背景颜色。 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate 如果sheet1!A1用值value和背景颜色更新单元格,我的请求应该是什么样的red

Tan*_*ike 5

  • 您想使用Sheets API 的batchUpdate 方法将Google Spreadsheet 上“Sheet1”的工作表名称中的单元格“A1”的背景颜色更改为红色。
  • 您想使用带有 python 的 google-api-python-client 来实现这一点。
  • 您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。

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

示例脚本:

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()
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 在这种情况下,需要使用GridRange写入范围
    • startRowIndex: 0, endRowIndex: 1m startColumnIndex: 0, endColumnIndex: 1 表示单元格“A1”。

参考:

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