基本的な読み取り

Google Sheets API を使用すると、セル、範囲、範囲のセット、シート全体から値を読み取ることができます。このページの例では、spreadsheets.values リソースを使用した一般的な読み取りオペレーションを示しています。spreadsheets.get メソッドを使用してセル値を読み取ることもできますが、通常は spreadsheets.values.get または spreadsheets.values.batchGet のほうが簡単です。

これらの例は、言語に依存しない HTTP リクエストの形式で提供されています。Google API クライアント ライブラリを使用してさまざまな言語で読み取りを実装する方法については、セル値の読み取りと書き込みをご覧ください。

以下の例では、プレースホルダ SPREADSHEET_ID は、スプレッドシート ID を入力する場所を示しています。スプレッドシート ID は、スプレッドシートの URL で確認できます。読み取る範囲は、リクエスト URL で A1 表記を使用して指定されます。範囲の例は「Sheet1!A1:D5」です。

ソースデータ

これらの例では、読み取られるスプレッドシートの最初のシート(「Sheet1」)に次のソースデータがあると仮定します。最初の行の文字列は、個々の列のラベルです。スプレッドシート内の他のシートから読み取る方法の例については、A1 表記をご覧ください。

A B C D
1 アイテム 費用 在庫あり 発送日
2 観覧車 20.50 ドル 4 2016 年 3 月 1 日
3 ドア $15 2 2016 年 3 月 15 日
4 Engine $100 1 2016 年 3 月 20 日
5 合計 135.5 ドル 7 2016 年 3 月 20 日

単一の範囲を読み取る

次の spreadsheets.values.get コードサンプルは、Sheet1!A1:D5 の範囲から値を読み取り、レスポンスで返す方法を示しています。末尾の行と列は省略されます。

リクエスト プロトコルを以下に示します。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5

レスポンスは、範囲の値を記述する ValueRange オブジェクトで構成されます。majorDimension フィールドは、配列が行で編成された値のリストであることを示します。

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "30/20/2016"],
    ["Totals", "$135.5", "7", "3/20/2016"]
  ],
}

列でグループ化された単一の範囲を読み取る

次の spreadsheets.values.get コードサンプルは、Sheet1!A1:D3 の範囲から値を読み取り、レスポンスで返される値を列でグループ化する方法を示しています。末尾の行と列は省略されます。

リクエスト プロトコルを以下に示します。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D3?majorDimension=COLUMNS

レスポンスは、範囲の値を記述する ValueRange オブジェクトで構成されます。majorDimension フィールドは、配列が列によって編成された値のリストであることを示します。

{
  "range": "Sheet1!A1:D3",
  "majorDimension": "COLUMNS",
  "values": [
    ["Item", "Wheel", "Door"],
    ["Cost", "$20.50", "$15"],
    ["Stocked", "4", "2"],
    ["Ship Date", "3/1/2016", "3/15/2016"]
  ],
}

レンダリング オプションを使用して単一範囲を読み取る

次の spreadsheets.values.get コードサンプルは、Sheet1!A1:D5 の範囲から値を読み取り、レスポンスで返す方法を示していますが、レンダリング オプションを使用してその情報が返される方法を管理しています。FORMULAValueRenderOption 設定は計算された値の代わりに数式を返すことを示し、DateTimeRenderOption 設定を SERIAL_NUMBERDateTimeRenderOption 設定は日付を数値として返すことを示します。その他の設定も可能です。末尾の行と列は省略されます。

リクエスト プロトコルを以下に示します。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?
            valueRenderOption=FORMULA&dateTimeRenderOption=SERIAL_NUMBER

レスポンスは、範囲の値を記述する ValueRange オブジェクトで構成されます。majorDimension フィールドは、配列が行で編成された値のリストであることを示します。

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "42430"],
    ["Door", "$15", "2", "42444"],
    ["Engine", "$100", "1", "42449"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

複数の範囲を読み取る

次の spreadsheets.values.batchGet コードサンプルは、範囲 Sheet1!B:B と Sheet1!D:D から値を読み取り、レスポンスで返す方法を示しています。UNFORMATTED_VALUEValueRenderOption 設定は、値が計算されるものの、レスポンスで書式設定されていないことを示します。末尾の行と列は省略されます。

リクエスト プロトコルを以下に示します。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

このメソッド呼び出しに対するレスポンスは、スプレッドシート ID を持つオブジェクトと、リクエストされた各範囲に対応する ValueRange オブジェクトの配列(リクエストされた順にリストされたもの)で構成されます。majorDimension フィールドは、配列が列によって編成された値のリストであることを示します。次に例を示します。

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!B1:B1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Cost",20.5,15,100,135.5]
      ]
    },
    {
      "range": "Sheet1!D1:D1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Ship Date",42430,42444,42449,42449]
      ]s
    }
  ]
}

複数のシートにわたる複数の範囲の読み取り

次の spreadsheets.values.batchGet コードサンプルは、Sheet1!A1:D5、Products!D1:D100、Sales!E4:F6 シートの範囲から値を読み取り、レスポンスで返す方法を示しています。UNFORMATTED_VALUEValueRenderOption 設定は、値が計算されるものの、レスポンスで書式設定されていないことを示します。末尾の行と列は省略されます。

リクエスト プロトコルを以下に示します。

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!A1:D5&ranges=Products!D1:D100&ranges=Sales!E4:F6&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

このメソッド呼び出しに対するレスポンスは、スプレッドシート ID を持つオブジェクトと、リクエストされた各範囲に対応する ValueRange オブジェクトの配列(リクエストされた順にリストされたもの)で構成されます。majorDimension フィールドは、配列が列によって編成された値のリストであることを示します。次に例を示します。

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!A1:D5",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    },
    {
      "range": "Products!D1:D100",
      "majorDimension": "COLUMNS",
      "values": [
        [...]
      ]
    },
    {
      "range": "Sales!E4:F6",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    }
  ]
}