得到正确的 sheet 点差 sheet

Get correct sheet in spreadsheet

这就是我的 Spreadsheet 现在的样子 .

现在,我需要根据名称更正 sheet 并更改某些单元格的颜色,给定 sheet ID 和 sheet 名称。但是,我一直不知道如何获得正确的 sheet.

我现在的代码:

   $service = new Google_Service_Sheets($client);
   $spreadSheetId = 'my_spread_sheet_id';
   $spreadSheetName = 'my_sheet_day';
   $sheetInfo = $service->spreadsheets->get($spreadsheetId)->getSheets();

我想我可以尝试 getSheetsByName,但它不起作用。查看 documentation 也没有关于如何获取 sheet 信息的信息。我走错路了吗?

我相信你的目标如下。

  • 您想从 sheet 名称中检索 sheet ID。
  • 您想使用表格 API 和用于 php 的 googleapis 来实现此目的。
  • 您已经能够使用 Sheets API.
  • 从 Google Spreadsheet 中获取值

在这种情况下,使用Sheets API中的“spreadsheets.get”方法从每个sheet中检索properties的对象。示例脚本如下

示例脚本:

$service = new Google_Service_Sheets($client);
$spreadSheetId = 'my_spread_sheet_id';
$spreadSheetName = 'my_sheet_day';

// Retrieve the objects from Google Spreadsheet using Sheets API.
$sheets = $service->spreadsheets->get($spreadSheetId, ["fields" => "sheets(properties)"])->getSheets();

// Create an object for searching the sheet ID from the sheet name.
$obj = array();
foreach ($sheets as $i => $sheet) {
    $property = $sheet -> getProperties();
    $obj[$property -> getTitle()] = $property -> getSheetId();
}

// Retrieve the sheet ID from the sheet name.
$sheetId = $obj[$spreadSheetName];
echo $sheetId;
  • 在此示例脚本中,使用了 sheets(properties) 的字段。我认为在这种情况下,您还可以使用 $sheets = $service->spreadsheets->get($spreadSheetId)->getSheets();.

参考: