【问题标题】:Google Sheets API v4 doesn't save mergeCellsGoogle Sheets API v4 不保存 mergeCells
【发布时间】:2018-08-01 17:14:22
【问题描述】:

我只是想在 batchUpdate 中合并单元格,但它们没有。 updateDimensionProperties 和 pasteData 运行良好,但 mergeCell 并非没有返回任何错误。我做错了什么?

results = service.spreadsheets().batchUpdate(
    spreadsheetId = 'some_weird_spreadsheet_id',
    body = {
        "requests": [
            {
                "mergeCells": {
                    "mergeType": "MERGE_COLUMNS",
                    "range": {
                        "sheetId": 0,
                        "startRowIndex": 0,
                        "endRowIndex": 1,
                        "startColumnIndex": 12,
                        "endColumnIndex": 19
                    }
                }
            },
            {
                "mergeCells": {
                    "mergeType": "MERGE_ROWS",
                    "range": {
                        "sheetId": 0,
                        "startRowIndex": 0,
                        "endRowIndex": 2,
                        "startColumnIndex": 0,
                        "endColumnIndex": 1
                    }
                }
            },
        ]
    }).execute()

【问题讨论】:

  • 您是否使用 Google APIs Explorer 测试过您的请求?知道请求后,您应该能够弄清楚如何在当前库中构建它。

标签: python-3.x google-sheets-api google-api-python-client


【解决方案1】:

从您的请求正文的范围内,我认为您可能希望分别合并“M1:S1”和“A1:A2”的单元格。那么这个修改怎么样呢?

修改请求正文:

{
  "requests": 
  [
    {
      "mergeCells": 
      {
        "mergeType": "MERGE_ROWS", # Modified
        "range": 
        {
          "sheetId": 0,
          "startRowIndex": 0,
          "endRowIndex": 1,
          "startColumnIndex": 12,
          "endColumnIndex": 19
        }
      }
    },
    {
      "mergeCells": 
      {
        "mergeType": "MERGE_COLUMNS", # Modified
        "range": 
        {
          "sheetId": 0,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        }
      }
    }
  ]
}

注意:

  • 我认为在你的情况下,MERGE_ALL 也可以用于mergeType
  • 此修改假设您可以使用 Sheets API。

参考:

如果这不是你想要的,我很抱歉。

【讨论】:

  • 已尝试您的解决方案,但没有任何反应。 GAPI 接受但忽略我的请求,不返回任何错误。回复是这样的:{'spreadsheetId': 'some_weird_spreadsheet_id', 'replies': [{}, {}]}
  • @Constantin Dolinin 对于给您带来的不便,我深表歉意。我认为这个返回值是正确的。那我可以问你想要什么吗?在这个修改后的请求正文中,当它看到带有请求正文的 API 发布后的电子表格时,您可以确认“M1:S1”和“A1:A2”的合并单元格。另一方面,在您的请求正文中,“M1:S1”和“A1:A2”没有合并,因为“mergeType”的每个值都不适合该范围。我原以为你的问题是这样的。但如果我误解了你的问题,我很抱歉。
  • 在撰写评论之前,我已经根据您的建议修改了我的请求,也尝试了 MERGE_ALL 并且 GAPI 结果返回没有任何变化
  • @Constantin Dolinin 对于给您带来的不便,我深表歉意。该返回值是正确的值。如果发生错误,则返回其他响应。那我可以问你想要什么吗?我对你的问题的理解正确吗?我真的很抱歉我的英语水平不好。
  • 结果没问题,是的,但是在 Google 表格上打开目标电子表格时,我看不到它有任何变化。这就是问题所在。
猜你喜欢
  • 2016-10-13
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多