Google Sheets API を使用すると、シートの作成、クリア、コピー、削除に加え、そのプロパティを制御することもできます。このページの例は、Sheets API を使用して一般的なスプレッドシート オペレーションを実現する方法を示しています。
これらの例では、言語に依存しない HTTP リクエストの形式で示しています。Google API クライアント ライブラリを使用してさまざまな言語でバッチ アップデートを実装する方法については、スプレッドシートを更新するをご覧ください。
これらの例では、プレースホルダ SPREADSHEET_ID
と SHEET_ID
は、これらの ID を指定する場所を示しています。スプレッドシート ID はスプレッドシートの URL で確認できます。シート ID は、spreadsheets.get
メソッドを使用して取得できます。範囲は A1 表記で指定します。範囲の例は Sheet1!A1:D5 です。
スプレッドシートを追加
次の spreadsheets.batchUpdate
コードサンプルは、AddSheetRequest
を使用してスプレッドシートにシートを追加し、タイトル、グリッドサイズ、タブの色も設定する方法を示しています。
レスポンスは AddSheetResponse
で構成されます。これには、作成されたシートのプロパティ(SHEET_ID
など)を持つオブジェクトが含まれます。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addSheet": { "properties": { "title": "Deposits", "gridProperties": { "rowCount": 20, "columnCount": 12 }, "tabColor": { "red": 1.0, "green": 0.3, "blue": 0.4 } } } } ] }
書式を維持しながらすべての値のシートをクリアします
次の spreadsheets.batchUpdate
コードサンプルは、UpdateCellsRequest
を使用して、書式を変更せずにシートからすべての値を削除する方法を示しています。
対応する値なしで userEnteredValue
フィールドを指定すると、範囲内の値をクリアする指示と解釈されます。この設定は他のフィールドでも使用できます。たとえば、fields
の値を userEnteredFormat
に変更すると、Sheets API でサポートされているすべての書式がシートから削除されますが、セルの値は変わりません。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}
スプレッドシート間でシートをコピーする
次の spreadsheet.sheets.copyTo
コードサンプルは、SHEET_ID
で指定された単一のシートをあるスプレッドシートから別のスプレッドシートにコピーする方法を示しています。
リクエスト本文の TARGET_SPREADSHEET_ID
変数で、宛先のスプレッドシートを指定します。コピーでは、元の値、書式設定、数式、その他のプロパティがすべて保持されます。コピーしたシートのタイトルは「[元のシートタイトル] のコピー」に設定されます。
レスポンスは、作成されたシートのプロパティを記述する SheetProperties
オブジェクトで構成されます。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/sheets/SHEET_ID
:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID
"
}
シートを削除する
次の spreadsheets.batchUpdate
コードサンプルは、DeleteSheetRequest
を使用して、SHEET_ID
で指定されたシートを削除する方法を示しています。
リクエスト プロトコルを以下に示します。
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}
シートデータを読み取る
次の spreadsheets.get
コードサンプルは、SHEET_ID
と SPREADSHEET_ID
で指定されたスプレッドシートからシートのプロパティ情報を取得する方法を示しています。この方法は、特定のスプレッドシート内のシートのメタデータを特定するためによく使用され、それらのシートをターゲットに追加のオペレーションを実行できます。fields
クエリ パラメータは、(セル値データやスプレッドシート全体に関連するデータではなく)シート プロパティ データのみを返すように指定します。
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?&fields=sheets.properties
レスポンスは、SheetProperties
要素を持つ Sheet
オブジェクトを含む Spreadsheet
リソースで構成されます。特定のレスポンス フィールドがデフォルト値に設定されている場合、そのフィールドはレスポンスから除外されます。
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID
,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}