如何在 python 中使用 wrap_strategy 用于 google 工作表?

How to use wrap_strategy in python for google sheets?

我有一个 python 代码,它使用驱动器和 sheet api 列出文件夹内的文件。我在这个文件夹中有多个 google sheets,其中一些在文本之间有空格,如图所示。我想将所有单元格的文本换行更改为溢出,即使用 google sheet api python 中的 sheet 对象。我看到有一种方法 (wrap_strategy) 可以将其设置为 overflow_cell,但我不知道如何使用它。任何人都可以在这种情况下提供帮助吗?

我可以在应用程序脚本中看到文档,但不能使用 python。

def process_file(file):
    file["name"] = file["name"] + '.' + file["id"] #prefix the file name 
    print(file["name"])
sheet = open_sheet(file['id'])
if sheet is None:
    print("Unable to open sheet: " + file['id'])
    return

实际结果会将此文件夹内的所有 google sheet 格式化为所有单元格的溢出

  • 您想在 Spreadsheet 上设置 sheet 的换行策略。
  • 您想将sheet所有单元格的换行策略设置为"overflow"。
  • 您想使用 gspread 实现此目的。

根据你的问题和标签,我的理解和上面一样。如果我的理解是正确的,这个示例脚本怎么样?

在此示例脚本中,假设 "overflow" 的换行策略设置为 "Sheet1" 的所有单元格。 gspread使用batch_update()时,需要创建request body

示例脚本:

spreadsheetId = "###"  # Please set this
sheetName = "Sheet1"  # Please set this

client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
sheetId = ss.worksheet(sheetName)._properties['sheetId']
body = {
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "startColumnIndex": 0
        },
        "rows": [
          {
            "values": [
              {
                "userEnteredFormat": {
                  "wrapStrategy": "OVERFLOW_CELL"
                }
              }
            ]
          }
        ],
        "fields": "userEnteredFormat.wrapStrategy"
      }
    }
  ]
}
res = spreadsheet.batch_update(body)

注:

  • 此示例脚本假定您已经能够使用 Sheets API.
  • 读写 Spreadsheet
  • 很遗憾,我无法理解您的脚本。对于这种情况,我很抱歉。

参考文献:

如果我误解了你的问题,这不是你想要的结果,我深表歉意。

为什么不用gspread格式,很简单的命令:

from gspread_formatting import *

worksheet.format("A1:D10", {"wrapStrategy": "OVERFLOW_CELL"})

在我的例子中,我正在寻找如何将它设置为 WRAP 因为它在默认情况下会溢出...