Google Sheets API を使用すると、セル、範囲、範囲のセット、シート全体から値を読み取ることができます。このページの例は、spreadsheets.values
リソースを使用した一般的な読み取りオペレーションを示しています。spreadsheets.get
メソッドを使用してセルの値を読み取ることもできますが、通常は spreadsheets.values.get
または spreadsheets.values.batchGet
の方が簡単です。
これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。Google API クライアント ライブラリを使用して、さまざまな言語で読み取りを実装する方法については、セル値の読み取りと書き込みをご覧ください。
これらの例では、プレースホルダ SPREADSHEET_ID は、スプレッドシートの URL から確認できるスプレッドシート ID を指定する場所を示しています。読み取る範囲は、リクエスト 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 | エンジン | $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 から値を読み取り、レスポンスで返す方法を示しています。ただし、レンダリング オプションを使用して、その情報が返される方法を管理します。FORMULA
の ValueRenderOption
設定は、計算値ではなく数式が返されることを示し、SERIAL_NUMBER
の DateTimeRenderOption
設定は、日付が数値として返されることを示します。その他の設定を使用することもできます。以降の空の行と列は省略されます。
リクエスト プロトコルは次のとおりです。
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_VALUE
の ValueRenderOption
設定は、値は計算されるが、レスポンスで書式設定されないことを示します。以降の空の行と列は省略されます。
リクエスト プロトコルは次のとおりです。
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_VALUE
の ValueRenderOption
設定は、値は計算されるが、レスポンスで書式設定されないことを示します。以降の空の行と列は省略されます。
リクエスト プロトコルは次のとおりです。
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 を含むオブジェクトと、リクエストされた範囲ごとに 1 つずつ、リクエストされた順序で並べられた 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": [ [...], [...] ] } ] }