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

GoogleSheet API 可讓您在試算表中新增、移除及操控列與欄。本頁的範例說明如何使用 Sheet 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
      }
    },
  ],
}