PHP Google スプレッドシートからセル値を取得 Google Client Library v4 Sheets API

php google sheets api セル値取得 google

スプレッドシートのセルの値を取得メモ。
$res = $service->spreadsheets_values->get($fileid,$range,$options); でrangeオブジェクトを取得し、$res->getValues()で2次元配列取得。
一度わかるとコピペでいけますね。

スポンサーリンク

1.spreadsheets_values->get($fileid, $range)を使う

$fileidにはスプレッドシートのurlのID部分を。
$rangeには”Sheet1!A1:C”;とか、エクセルでもお馴染みのを入れます。

例えばA1からC列最後まで取得するなら下記です。


$fileid = "aisjdiEJs039d3"; //読み込みたいスプレッドシートのid
$range = "Sheet1!A1:C";

$res = $service->spreadsheets_values->get($fileid, $range);
$values = $res->getValues();

//2次元配列が返っている
/*
A1,B1,C1
A2,B2,C2,
A3,B3,C3,
...
$values[0][0] = A1
$values[1][1] = B2
*/

2. 配列の縦横を変更 option majorDimension

例えばA1:A10取得した時は、$values[0][0]=A1, $values[1][0]=A2…となります。
これ面倒なので、配列の縦横を入れ替えて、$values[0][0]=A1, $values[0][1]=A2..とすると、$vals = $values[0]; $vals[0]=A1, $vals[1]=A2..となり操作が楽になります。

get()の第3引数に’majorDimension’=>’COLUMNS’を加えると可能です。

$options = [
     'majorDimension' => 'COLUMNS'
 ];

$res = $service->spreadsheets_values->get($fileid, $range, $options );
$values = $res->getValues();
foreach($values[0] as $v ){

}

3.参考リンク

Reading & Writing Cell Values  |  Sheets API  |  Google Developers
Method: spreadsheets.values.get  |  Sheets API  |  Google Developers

コメント

タイトルとURLをコピーしました