PHP Google_Service_Sheetsの列数を取得するには?

ショコラ
ショコラ

PHP Google_Service_Sheetsの列数を取得するには?

これも一発で列数が取得できればいいのですが、、、
列番号から列名に直す関数を用意しました。

もっさん先輩
もっさん先輩

ひとまず、スプレッドシートを取得する

$google_credentials_json = "あのグーグルのJSON形式の文字列";
$google_sheet_id = "シートID(URLのところ)";

$client = new \Google_Client();
$client->addScope( \Google_Service_Sheets::SPREADSHEETS );

// 認証
$auth = tempnam(sys_get_temp_dir(),'auth-');
file_put_contents($auth,$google_credentials_json);
$client->setAuthConfig($auth);
unlink($auth);

$service = new \Google_Service_Sheets($client);

$spreadsheet = $service->spreadsheets->get($google_sheet_id);

プロパティを辿ってアクセスすることはできました。

 $spreadsheet->sheets[0]->properties->gridProperties->columnCoun

プロパティを辿ってアクセスすることはできました。

 $spreadsheet->sheets[0]->properties->gridProperties->columnCoun

↓は列番号から列名に直す関数です。

function columnNumberToLetter($columnNumber)
{
  $columnLetter = '';
  while ($columnNumber > 0) {
    $temp = ($columnNumber - 1) % 26;
    $columnLetter = chr($temp + 65) . $columnLetter;
    $columnNumber = (int)(($columnNumber - $temp - 1) / 26);
  }
  return $columnLetter;
}

以上

関連記事

Scroll to Top