Google sheet api:如何获取行和列索引?

时间:2018-03-13 08:21:45

标签: php google-spreadsheet-api google-api-php-client

有没有办法通过google sheet API获取行和列索引?

以下是我如何通过官方样本获取数据。

// Get the API client and construct the service object.
$client = getClient();
$service = new Google_Service_Sheets($client);

$spreadsheetId = '{MY_SPREADSHEET_ID}';
$range = 'dummy!A1:E';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
var_dump($values);

这给了我数组中的数据。

此外,我想获取单元格的索引(例如,列A和行4),该单元格来自哪个单元格。

1 个答案:

答案 0 :(得分:1)

根据values.get的API参考,您应该在响应中提供范围字符串。此响应中没有方便的行/单元索引,因为此响应不保证与请求的范围为1:1:

  

回复正文

     

如果成功,则响应正文包含ValueRange的实例。

     

ValueRange.range:

     

值覆盖的范围,以A1表示法。对于输出,此范围指示整个请求的范围,即使这些值将排除尾随行和列。附加值时,此字段表示搜索表的范围,之后将附加值。

因此,由于不会返回尾随空单元格,因此在请求时不能保证获得5x5值数组,例如A1:E5但是E列为空

如果要使用行和列索引,可以使用Spreadsheets.get方法并指定要检索的范围(设置includeGridData标志)。此调用将返回Spreadsheet resource。然后,您将找到要使用的工作表(如果您没有从任何其他工作表请求范围,则可能是工作表中的第一个工作表),并检查它所持有的各种data

此外,如果您基于行,列输入以编程方式请求给定范围(使用Spreadsheet.values时),则可以使用该输入,返回值数组的长度以及最大行的长度计算工作指数。获得这些最大指数可以如here所示完成。