Google表格API / PHP - 如何使用A1表示法从工作表中获取非连续列

时间:2018-03-27 17:15:54

标签: google-api google-sheets-api

我已经启动并运行了Sheets api。我可以把我的床单拉得很好。

然而,这张纸有很多列,我只需要少量。

我目前的工作代码:

$range = 'LPs Input!A:O';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

我想做什么:

$range = 'LPs Input!C:D,O:P';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

但是当我跑步时,我得到了:

{
"error": {
"code": 400,
"message": "Unable to parse range: LPs Input!C:D,O:P",
"errors": [
{
  "message": "Unable to parse range: LPs Input!C:D,O:P",
  "domain": "global",
  "reason": "badRequest"
}
],
"status": "INVALID_ARGUMENT"
}
}

我最好能说这是有效的A1表示法。如何从此表中获取特定列?

1 个答案:

答案 0 :(得分:0)

Input!C:D,O:P不是有效的A1表示法。从该语句看,您似乎在尝试在单个语句中选择多个范围(C列到D列和从O到P列)。

有几种方法可以解决这个问题:

  • 选择整个范围Input!C:P,然后从响应中选择所需的组件
  • 使用Input!C:DInput!O:P两次调用Google表格API,以选择所需的特定列。在这种情况下,我还会考虑使用spreadsheets.values.batchGet方法对Sheets API进行批量调用(本页底部有一个PHP示例)
  • 查看工作表中的O和P列移动,使它们位于E和F列中。然后,您可以使用Input!C:F
  • 选择这4列

有关表格中A1表示法的更多信息,请参阅以下链接: https://developers.google.com/sheets/api/guides/concepts#a1_notation