スプレッドシートのセルの値を取得メモ。
$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.参考リンク

Read & write cell values | Google Sheets | Google for Developers

Method: spreadsheets.values.get | Google Sheets | Google for Developers
コメント