您可以使用 Google Sheets API,在試算表中新增、移除及操控資料列和資料欄。本頁的範例說明如何透過 Google 試算表 API 執行一些常見的列和欄作業。
這些範例會以 HTTP 要求的形式呈現,不限於特定語言。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「更新試算表」。
在這些範例中,預留位置 SPREADSHEET_ID 和 SHEET_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
}
}
]
}自動調整欄寬
下列程式碼範例說明如何使用 AutoResizeDimensionsRequest,根據欄內容大小調整 A:C 欄的大小。spreadsheets.batchUpdatedimension 欄位表示作業適用於工作表的資料欄。
要求通訊協定如下所示。
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
}
},
],
}