資料列 (&A);資料欄運算

Google Sheets API 可讓您在試算表中新增、移除及操控資料列和資料欄。本頁的範例說明如何利用 Sheets API 完成一些常見的資料列與資料欄作業。

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

在這些範例中,預留位置 SPREADSHEET_IDSHEET_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,則從新資料欄或資料列之後沿用維度。如果在第 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
      }
    },
  ],
}