如何使用Google客户端库调整工作表的大小 [英] How to resize a worksheet with the Google Client Library
问题描述
我正在尝试使用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()
注意:
- 请根据您的实际情况选择示例脚本.
- 方法:sheetssheets.batchUpdate
- UpdateSheetPropertiesRequest
- AppendDimensionRequest
- DeleteDimensionGroupRequest
这篇关于如何使用Google客户端库调整工作表的大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!