基本格式

Google Sheets API 可讓您更新儲存格和範圍的格式設定 。本頁的例子說明瞭 您可使用 Sheets API 完成格式設定作業。你可以 如需更多條件式格式設定範例,請參閱「條件式 設定食譜網頁的格式

更新試算表時,某些類型的要求可能會傳回回應。 這些字串會以陣列的形式傳回,且每項回應都擁有與 對應的要求有些要求沒有回應, 則回應空白。您可以在下方找到這些範例的回應結構 spreadsheets.batchUpdate

這些範例是以 HTTP 要求的形式呈現 中立。如要瞭解如何使用 Google API 用戶端程式庫,請參閱 試算表

在這些範例中,預留位置 SPREADSHEET_IDSHEET_ID 代表這些 ID 的提供位置。您可以找到這份試算表 ID。您可以 工作表 ID spreadsheets.get 方法。 範圍是使用 A1 標記法來指定。一個 範例範圍是 Sheet1!A1:D5

在上述影片中,我們將說明如何以多種方式設定試算表儲存格的格式: 包括:建立凍結列、粗體儲存格、導入貨幣 格式化、執行儲存格驗證,以及限制儲存格的值。

編輯儲存格框線

下列 spreadsheets.batchUpdate敬上 程式碼範例顯示如何使用 UpdateBordersRequest 為 A1:F10 範圍內的每個儲存格加上虛線、藍色頂端和下框線 innerHorizontal 欄位會在範圍的內部建立水平框線。 如果省略此欄位,將只會加上在頂部和 和展開討論

表格含有 3 x 3 的表格,每個儲存格中都有虛線、上部和下框線。
圖 1. 請在工作表中為每個儲存格加上虛線、藍色上框線和下框線格式。

要求通訊協定如下所示。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

設定標題列格式

下列 spreadsheets.batchUpdate敬上 程式碼範例顯示如何使用 RepeatCellRequest 即可設定工作表的標題列格式。第一個要求會更新文字顏色, 背景顏色、文字字型大小和文字對齊方式 文字為粗體。在 range 欄位中省略資料欄索引會使整個 。第二個要求會調整工作表屬性,讓 標題列凍結。

表格內含已設定格式標題列的 3 x 3 表格。
圖 2. 設定工作表的標題列格式。

要求通訊協定如下所示。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

合併儲存格

下列 spreadsheets.batchUpdate敬上 程式碼範例顯示如何使用 MergeCellsRequest 合併儲存格。第一個要求會將 A1:B2 範圍合併為單一儲存格。 第二個要求會合併 A3:B6 中的資料欄,同時將列分隔出來。

表格含有合併的儲存格,格式為 3 乘 3 的表格。
圖 3. 合併工作表中的儲存格。

要求通訊協定如下所示。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

設定範圍的自訂日期時間或小數格式

下列 spreadsheets.batchUpdate敬上 程式碼範例顯示如何使用 RepeatCellRequest 即可更新儲存格,使其採用自訂日期時間格式和數字格式。第一個要求 為 A1:A10 範圍中的儲存格提供自訂日期時間格式 hh:mm:ss am/pm, ddd mmm dd yyyy。日期格式為「02:05:07 PM, Sun Apr」 03 2016」。

第二個要求為 B1:B10 的儲存格提供自訂數字格式 #,##0.0000,表示數字應以半形逗號分隔 例如小數點後 4 位數字 應捨棄開頭的零例如數字「3.14」算繪完成 「3.1400」,「12345.12345」會顯示為「12,345.1235」。

工作表中的 3 x 3 表格,並使用自訂日期時間與數字格式。
圖 4 更新儲存格中的儲存格日期和時間格式。

要求通訊協定如下所示。

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}