借助 Google Sheets API,您可以在工作表中添加、移除和操作行和列。本页中的示例展示了如何使用 Sheets API 实现一些常见的行和列操作。
这些示例以 HTTP 请求的形式呈现,不涉及具体语言。如需了解如何使用 Google API 客户端库以不同语言实现批量更新,请参阅更新电子表格。
在这些示例中,占位符 SPREADSHEET_ID
和 SHEET_ID
表示您应在何处提供这些 ID。您可以在电子表格网址中找到电子表格 ID。您可以使用 spreadsheets.get
方法获取工作表 ID。范围使用 A1 表示法指定。范围示例:Sheet1!A1:D5。
调整列宽或行高
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 UpdateDimensionPropertiesRequest
将列 A 的宽度属性更新为 160 像素。第二个请求将前三行的行高属性更新为 40 像素。dimension
字段用于确定操作是应用于工作表的列还是行。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateDimensionProperties": { "range": { "sheetId":SHEET_ID
, "dimension": "COLUMNS", "startIndex": 0, "endIndex": 1 }, "properties": { "pixelSize": 160 }, "fields": "pixelSize" } }, { "updateDimensionProperties": { "range": { "sheetId":SHEET_ID
, "dimension": "ROWS", "startIndex": 0, "endIndex": 3 }, "properties": { "pixelSize": 40 }, "fields": "pixelSize" } } ] }
附加空行或空列
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 AppendDimensionRequest
来附加行和列。第一个请求会在工作表的末尾附加三个空行,而第二个请求会附加一个空列。dimension
字段用于确定操作是应用于工作表的列还是行。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "appendDimension": { "sheetId":SHEET_ID
, "dimension": "ROWS", "length": 3 } }, { "appendDimension": { "sheetId":SHEET_ID
, "dimension": "COLUMNS", "length": 1 } } ] }
自动调整列的大小
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 AutoResizeDimensionsRequest
根据列内容的大小调整 A:C 列的大小。dimension
字段表示相应操作适用于工作表的列。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"autoResizeDimensions": {
"dimensions": {
"sheetId": SHEET_ID
,
"dimension": "COLUMNS",
"startIndex": 0,
"endIndex": 3
}
}
}
]
}
自动调整行的大小
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 AutoResizeDimensionsRequest
清除前三行的行高。然后,行高会根据每行中单元格的内容动态增加。dimension
字段表示相应操作适用于工作表的行。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"autoResizeDimensions": {
"dimensions": {
"sheetId": SHEET_ID
,
"dimension": "ROWS",
"startIndex": 0,
"endIndex": 3
}
}
}
]
}
删除行或列
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 DeleteDimensionRequest
删除工作表中的前三行。第二个请求会删除列 B:D。
dimension
字段用于确定相应操作是应用于工作表的列还是行。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteDimension": { "range": { "sheetId":SHEET_ID
, "dimension": "ROWS", "startIndex": 0, "endIndex": 3 } } }, { "deleteDimension": { "range": { "sheetId":SHEET_ID
, "dimension": "COLUMNS", "startIndex": 1, "endIndex": 4 } } }, ], }
插入空行或空列
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 InsertDimensionRequest
在特定索引处插入列或行(例如在工作表的顶部添加空行)。第一个请求在 C 列插入两个空列。
第二个请求从第 1 行开始插入三个空行。
dimension
字段用于确定相应操作是应用于工作表的列还是行。
如果为 true,则 inheritFromBefore
字段会告知 Sheets API 为新列或新行赋予与前一行或前一列相同的属性;如果为 false,则告知 Sheets API 从新列或新行之后的维度继承属性。
如果要在第 1 行插入行或在 A 列插入列,inheritFromBefore
不能为 true。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "insertDimension": { "range": { "sheetId":SHEET_ID
, "dimension": "COLUMNS", "startIndex": 2, "endIndex": 4 }, "inheritFromBefore": true } }, { "insertDimension": { "range": { "sheetId":SHEET_ID
, "dimension": "ROWS", "startIndex": 0, "endIndex": 3 }, "inheritFromBefore": false } }, ], }
移动行或列
以下 spreadsheets.batchUpdate
代码示例展示了如何使用 MoveDimensionRequest
将列 A 移动到列 D 的位置。第二个请求将第 5-10 行移动到第 20 行的位置。
dimension
字段用于确定相应操作是应用于工作表的列还是行。destinationIndex
字段用于确定使用从零开始的起始索引将源数据移至何处。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "moveDimension": { "source": { "sheetId":SHEET_ID
, "dimension": "COLUMNS", "startIndex": 0, "endIndex": 1 }, "destinationIndex": 3 } }, { "moveDimension": { "source": { "sheetId":SHEET_ID
, "dimension": "ROWS", "startIndex": 4, "endIndex": 10 }, "destinationIndex": 19 } }, ], }