您可以使用 Google Sheets API 建立、清除、複製及刪除工作表,也可以控管工作表的屬性。本頁面的範例說明如何透過 Google Sheets API 執行一些常見的 Google 試算表作業。
這些範例會以 HTTP 要求的形式呈現,不限於特定語言。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「更新試算表」。
在這些範例中,預留位置 SPREADSHEET_ID
和 SHEET_ID
表示您提供這些 ID 的位置。您可以在試算表網址中找到試算表 ID。您可以使用 spreadsheets.get
方法取得工作表 ID。範圍是使用 A1 標記法指定的。例如:Sheet1!A1:D5。
新增工作表
下列 spreadsheets.batchUpdate
程式碼範例說明如何使用 AddSheetRequest
在試算表中新增工作表,同時設定標題、格線大小和分頁顏色。
回應包含 AddSheetResponse
,其中含有建立的試算表屬性物件 (例如 SHEET_ID
)。
要求通訊協定如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addSheet": { "properties": { "title": "Deposits", "gridProperties": { "rowCount": 20, "columnCount": 12 }, "tabColor": { "red": 1.0, "green": 0.3, "blue": 0.4 } } } } ] }
清除工作表中的所有值,但保留格式
下列 spreadsheets.batchUpdate
程式碼範例說明如何使用 UpdateCellsRequest
從試算表中移除所有值,同時保留格式。
如果指定 userEnteredValue
欄位,但沒有對應的值,系統會解讀為清除範圍內值的指令。這項設定也可用於其他欄位。舉例來說,將 fields
值變更為 userEnteredFormat
會移除試算表支援的所有格式,但儲存格值不會變更。
要求通訊協定如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "updateCells": { "range": { "sheetId": SHEET_ID
}, "fields": "userEnteredValue" } } ] }
將工作表從一份試算表複製到另一份
下列spreadsheet.sheets.copyTo
程式碼範例說明如何將一個試算表中的單一工作表 (由 SHEET_ID
指定) 複製到另一個試算表。
要求主體中的 TARGET_SPREADSHEET_ID
變數會指定目的地試算表。副本會保留原始檔案的所有值、格式、公式和其他屬性。複製的試算表標題會設為「『[原始試算表標題]』的副本」。
回應包含 SheetProperties
物件,說明所建立試算表的屬性。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/sheets/SHEET_ID
:copyTo
{ "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID
" }
刪除工作表
下列spreadsheets.batchUpdate
程式碼範例說明如何使用 DeleteSheetRequest
刪除 SHEET_ID
指定的工作表。
要求通訊協定如下所示。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "deleteSheet": { "sheetId": SHEET_ID
} } ] }
讀取試算表資料
下列 spreadsheets.get
程式碼範例說明如何從 spreadsheet 取得 sheet 屬性資訊,並由 SHEET_ID
和 SPREADSHEET_ID
指定。這個方法通常用於判斷特定試算表中的工作表的中繼資料,以便其他作業能以這些工作表為目標。fields
查詢參數只會指定應傳回工作表屬性資料 (而非儲存格值資料或與整個試算表相關的資料)。
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?&fields=sheets.properties
回應包含 Spreadsheet
資源,其中含有 Sheet
物件和 SheetProperties
元素。如果指定的回應欄位設為預設值,系統會從回應中省略該欄位。
{ "sheets": [ { "properties": { "sheetId": SHEET_ID
, "title": "Sheet1", "index": 0, "sheetType": "GRID", "gridProperties": { "rowCount": 100, "columnCount": 20, "frozenRowCount": 1 } "tabColor": { "blue": 1.0 } }, ... ], }