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

您可以使用 Google 試算表 API,在試算表中新增、移除及操控資料列和資料欄。本頁的範例說明如何透過 Google 試算表 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 根據欄內容大小,調整 A:C 欄的大小。AutoResizeDimensionsRequestdimension 欄位表示作業適用於工作表的資料欄。

要求通訊協定如下所示。

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 欄位會指示 Google 試算表 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 將 A 欄移至 D 欄位置。MoveDimensionRequest第二個要求會將第 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
      }
    },
  ],
}