基本的な書式設定

Google Sheets API を使用すると、セルと範囲の書式設定を更新できます。 使用できます。このページの例では、一般的な 書式設定操作は Sheets API で実行できますGoogle Chat では 条件付き書式のその他の例については、条件付き書式 レシピページで確認できます。

スプレッドシートの更新時に、リクエストの種類によってはレスポンスが返されることがあります。 これらは配列として返され、各レスポンスは配列と同じインデックスを占有します。 返されます。レスポンスがないリクエストや、 レスポンスが空です。これらの例のレスポンスの構造については、 spreadsheets.batchUpdate

これらの例は、HTTP リクエストという形式で示されています。これは、 ニュートラルです。異なる言語のバッチ アップデートを実装する方法については、 Google API クライアント ライブラリについては、 スプレッドシート

これらの例では、プレースホルダ SPREADSHEET_IDSHEET_ID は、 は、これらの ID を指定する場所を示しています。そのスプレッドシートの ID を入力します。取得できるもの: シート ID spreadsheets.get メソッドを使用します。「 範囲は A1 表記で指定します。「 Sheet1!A1:D5 です。

上の動画では、スプレッドシートのセルの書式設定をさまざまな方法で行うことができます。 固定行の作成、セルの太字表示、通貨の設定など 書式設定、セルの検証、セル値の制限などを行えます。

セルの枠線を編集

次の spreadsheets.batchUpdate コードサンプルを使用して、Terraform で UpdateBordersRequest これにより、A1:F10 の範囲の各セルに青色の上下の枠線が付きます。「 innerHorizontal フィールドを使用すると、範囲の内側に水平の枠線が作成されます。 このフィールドを省略すると、枠線は上部にのみ追加され、 最小値です

各セルに青色の上下の枠線がある 3x3 の表。
図 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 コードサンプルを使用して、Terraform で RepeatCellRequest スプレッドシートのヘッダー行の書式を設定します。最初のリクエストでは、テキストの色、つまり 背景色、テキストのフォントサイズ、テキストの配置です。 テキストを太字にします。range フィールドで列インデックスを省略すると、 指定します。2 番目のリクエストでは、シートのプロパティを調整して、 ヘッダー行は固定されます。

書式設定されたヘッダー行を含む 3×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 コードサンプルを使用して、Terraform で MergeCellsRequest セルを結合します。最初のリクエストでは、範囲 A1:B2 が 1 つのセルに結合されます。「 2 番目のリクエストは、行は分離されたまま、A3:B6 の列を結合します。

シート内の結合されたセルを含む 3x3 の表。
図 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 コードサンプルを使用して、Terraform で RepeatCellRequest カスタム日時と数値の形式になるようにセルを更新します。最初のリクエストは 範囲 A1:A10 のセルにカスタム日時形式 hh:mm:ss am/pm, ddd mmm dd yyyy を指定します。この形式の日時の例: 「02:05:07 PM, Sun Apr 03 2016」をご覧ください。

2 番目のリクエストでは、B1:B10 のセルにカスタム数値形式が設定されます。 #,##0.0000: 番号をカンマでグループ化することを示します。 小数点以下の桁数が 4 桁で、それ以外の桁数が 先頭のゼロは破棄されます例: 数値「3.14」レンダリングされます。 「3.1400」と指定し、「12345.12345」「12,345.1235」と表示されます。

カスタム日時形式と数値形式のシート内の 3 行 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"
      }
    }
  ]
}