如何使用Google客户端库调整工作表的大小 [英] How to resize a worksheet with the Google Client Library

查看:60
本文介绍了如何使用Google客户端库调整工作表的大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Google提供的API v4库来调整电子表格的大小(我有理由不使用Gspread),但是我该怎么做呢?

I am trying to resize a spreadsheet using the Google-provided library for API v4 (I have reasons not to use Gspread), but how can I do this?

我尝试了几种方法,下面是我当前的脚本;我只是在寻找我需要发送的请求正文.还必须使用batchUpdate或更新吗?

I have tried a few methods and my current script is below; I am just looking for the request body I need to send. Also do I have to use batchUpdate or update?

谢谢.

body = {
        "updateDimensionProperties": {
            "range": {
                "sheetId": utils.spreadsheet_handler.spreadsheet_id,
                "dimension": "COLUMNS",
                "startIndex": 0,
                "endIndex": 1
            }
        }
    }

    utils.spreadsheet_handler.sheet.values().batchUpdate(
        spreadsheetId=utils.spreadsheet_handler.spreadsheet_id,
        body=body).execute()  # Resizes the reservation spreadsheet

utils.spreadsheet_handler是一个处理身份验证的类

utils.spreadsheet_handler is a class that handles auth

推荐答案

  • 您要增加和/或减少Google Spreadsheet中工作表的行数和列数.
  • 您想使用带有Python的googleapis实现这一目标.
  • 您一直可以使用Sheets API来获取和放置Google Spreadsheet的值.
  • 为此,这个答案如何?在此答案中,使用Sheets API中batchUpdate方法的 UpdateSheetPropertiesRequest AppendDimensionRequest DeleteDimensionGroupRequest .

    For this, how about this answer? In this answer, UpdateSheetPropertiesRequest, AppendDimensionRequest and DeleteDimensionGroupRequest for the batchUpdate method in Sheets API are used.

    在这种模式下,工作表的行数和列数分别为5和5.

    In this pattern, the number of rows and columns of worksheet becomes 5 and 5.

    service = build('sheets', 'v4', credentials=creds)
    spreadsheetId = "###"  # Please set the Spreadsheet ID.
    sheetId = "###"  # Please set the sheet ID.
    body = {
        "requests": [
            {
                "updateSheetProperties": {
                    "properties": {
                        "gridProperties": {
                            "rowCount": 5,
                            "columnCount": 5
                        },
                        "sheetId": sheetId
                    },
                    "fields": "gridProperties"
                }
            }
        ]
    }
    service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, body=body).execute()
    

    模式2:

    在此模式下,将附加10行和10列.

    Pattern 2:

    In this pattern, 10 rows and 10 columns are appended.

    service = build('sheets', 'v4', credentials=creds)
    spreadsheetId = "###"  # Please set the Spreadsheet ID.
    sheetId = "###"  # Please set the sheet ID.
    body = {
        "requests": [
            {
                "appendDimension": {
                    "sheetId": sheetId,
                    "dimension": "ROWS",
                    "length": 10
                }
            },
            {
                "appendDimension": {
                    "sheetId": sheetId,
                    "dimension": "COLUMNS",
                    "length": 10
                }
            }
        ]
    }
    service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, body=body).execute()
    

    模式3:

    在这种模式下,减少了10行和10列.在示例脚本中,删除了第1到10行和A到J列.

    Pattern 3:

    In this pattern, 10 rows and 10 columns are reduced. At the sample script, rows 1 to 10 and columns A to J are deleted.

    service = build('sheets', 'v4', credentials=creds)
    spreadsheetId = "###"  # Please set the Spreadsheet ID.
    sheetId = "###"  # Please set the sheet ID.
    body = {
        "requests": [
            {
                "deleteDimension": {
                    "range": {
                        "sheetId": sheetId,
                        "dimension": "ROWS",
                        "startIndex": 0,
                        "endIndex": 10
                    }
                }
            },
            {
                "deleteDimension": {
                    "range": {
                        "sheetId": sheetId,
                        "dimension": "COLUMNS",
                        "startIndex": 0,
                        "endIndex": 10
                    }
                }
            }
        ]
    }
    service.spreadsheets().batchUpdate(spreadsheetId=spreadsheetId, body=body).execute()
    

    注意:

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆