借助 Google Sheets API,您可以使用各种 方法。使用 您还可以使用 Sheets API。本页面上的示例说明了如何实现 一些常见的电子表格操作与 Sheets API 搭配使用。
这些示例以 HTTP 请求的形式呈现, 中性。了解如何使用 请参阅更新 电子表格。
在这些示例中,占位符 SPREADSHEET_ID
和 SHEET_ID
指明提供这些 ID 的位置。您可以在电子表格
ID。您可以获得
工作表 ID
spreadsheets.get
方法。通过
范围使用 A1 表示法指定。一个
示例范围是“Sheet1!A1:D5”。
对范围应用数据验证
以下
spreadsheets.batchUpdate
代码示例展示了如何使用
SetDataValidationRequest
应用数据验证规则,其中“value >5" 到 A1:D10 范围内的每个单元格。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
复制 &粘贴单元格格式
以下
spreadsheets.batchUpdate
代码示例展示了如何使用
CopyPasteRequest
仅复制范围 A1:D10 内的格式,并将其粘贴到 F1:I10 的范围
。该方法使用
PasteType
枚举
使用 PASTE_FORMAT
仅粘贴格式和数据验证。通过
A1:D10 中的原始值保持不变。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
剪切和粘贴单元格
以下
spreadsheets.batchUpdate
代码示例展示了如何使用
CutPasteRequest
。
将范围 A1:D10 截断,并使用
PasteType
枚举
使用 PASTE_NORMAL
粘贴其值、公式、格式设置,以及将其合并到
同一工作表中的 F1:I10 范围。源范围单元格的原始内容为
已移除。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
在特定范围内重复公式
以下
spreadsheets.batchUpdate
代码示例展示了如何使用
RepeatCellRequest
将公式 =FLOOR(A1*PI())
复制到范围 B1:D10 中。公式的范围
范围中的每行和每列都自动递增,从
左上角单元格例如,单元格 B1 的公式为 =FLOOR(A1*PI())
,而
单元格 D6 的公式为 =FLOOR(C6*PI())
。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
使用多种排序规范对范围进行排序
以下
spreadsheets.batchUpdate
代码示例展示了如何使用
SortRangeRequest
对范围 A1:D10 进行排序,首先按 B 列的升序排序,然后按 C 列排序
按降序排列,然后按 D 列的降序排列。
请求协议如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}