工作表作業

Google 試算表 API 可讓您建立、清除、複製及刪除試算表,以及控制試算表的屬性。本頁的範例說明如何使用 Sheets API 執行一些常見的 Google 試算表作業。

這些範例以 HTTP 要求的形式呈現,以便不受語言限制。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「更新試算表」。

在這些範例中,預留位置 SPREADSHEET_IDSHEET_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 會從工作表中移除所有 Google 試算表 API 支援的格式設定,但不會變更儲存格的值。

要求通訊協定如下所示。

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 程式碼範例說明如何從 SHEET_IDSPREADSHEET_ID 指定的試算表中取得工作表屬性資訊。這個方法通常用於判斷特定試算表中工作表的結構描述資料,以便其他作業指定這些工作表。fields 查詢參數會指定只傳回試算表屬性資料 (而非儲存格值資料或與整個試算表相關的資料)。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

回應包含 Spreadsheet 資源,其中包含帶有 SheetProperties 元素的 Sheet 物件。如果指定的回應欄位設為預設值,系統會從回應中省略該欄位。

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}