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

Google Sheets 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 程式碼範例說明如何使用 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 欄位會指示 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 程式碼範例說明如何使用 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
      }
    },
  ],
}