Google Sheets API 可讓你以多種方式處理試算表中的資料, 管理基礎架構在使用這項服務中, 試算表 UI 也適用於 試算表 API。本頁的例子將說明如何達成 運用 Sheets API 處理一些常見的試算表作業
這些範例是以 HTTP 要求的形式呈現 中立。如要瞭解如何使用 Google API 用戶端程式庫,請參閱 試算表。
在這些範例中,預留位置 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"
}
]
}
}
]
}