【问题标题】:Get correct sheet in spreadsheet在电子表格中获取正确的工作表
【发布时间】:2021-04-06 02:54:14
【问题描述】:

这就是我的电子表格现在的样子 .

现在,我需要在给定工作表 ID 和工作表名称的情况下按名称更正工作表并更改某些单元格的颜色。但是,我不知道如何获得正确的表格。

我现在的代码:

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

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

【问题讨论】:

标签: php google-sheets google-sheets-api


【解决方案1】:

我相信你的目标如下。

  • 您想从工作表名称中检索工作表 ID。
  • 您希望使用 Sheets API 和 googleapis for php 来实现此目的。
  • 您已经能够使用 Sheets API 从 Google 电子表格中获取值。

在这种情况下,使用 Sheets API 中的“spreadsheets.get”方法从每个工作表中检索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();

参考:

【讨论】:

  • 谢谢,我能够获得工作表 ID。因此,如果我想更改工作表上单元格的颜色,是否可以使用 Google_Service_Sheets ?我认为 Google_Service_Sheets_Request 有一些答案
  • @emiya 感谢您的回复。我很高兴你的问题得到了解决。我愿意支持你。但是回复的问题是新问题,和你的问题不同。那么您可以将其发布为新问题吗?因为当您的初始问题被评论更改时,看到您的问题的其他用户会感到困惑。通过将其发布为新问题,包括我在内的用户可以想到它。当时,please close this question。如果你能合作解决你的新问题,我很高兴。你能合作解决你的新问题吗?
猜你喜欢
  • 2016-11-09
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多