【问题标题】:Getting cell position when reading google spreadsheet阅读谷歌电子表格时获取单元格位置
【发布时间】:2020-06-22 12:09:40
【问题描述】:

我在 php 中使用 google 电子表格 api,我试图从给定的工作表中获取所有行。我设法读取数据,但我希望它更容易阅读。有没有像添加单元格字母 + 数字作为我的数组索引之类的东西,例如

A => [
    1 => 'value',
    2 => 'value'
],
B => [
    1 => 'value',
    2 => 'value',
    3 => 'value',
],

我的代码

    public function getData($sheetName, $start, $end)
    {
        
        $range = $sheetName.'!'.$start.':'.$end;
        
        $result = $this->SERVICE->spreadsheets_values->get($this->SPREAD_SHEET_ID, $range, ['majorDimension' => 'ROWS']);
        return $result;
    }

谢谢:)

【问题讨论】:

  • 问题:让我们测试来自quickstart example 的值,你想在这里得到的是这样的数组吗? 'A':[ 'Alexandra', 'Andrew', 'Anna' etc...],'B':[ 'Female', 'Male', 'Female' etc...],'C':['4. Senior','1. Freshman','1. Freshman', etc...],etc...这是你想要完成的吗?
  • 我想要:'第 1 行':跳过,'第 2 行':['Alexandra','女性','4。高级'等...],'第3行':['安德鲁','男','1。大一等...],等等...

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


【解决方案1】:

您应该关注 PHP Quickstart,因为它会为您提供您想要的。

如果您想跳过第一行,只需使用$range = 'A2:E';

代码sn-p:

$client = getClient();
$service = new Google_Service_Sheets($client);

$spreadsheetId = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms';
$range = 'Class Data!A2:E';

$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

if (empty($values)) {
    print "No data found.\n";
}else{
    var_dump($values);
}

输出:

array(30) {
  [0]=>
  array(5) {
    [0]=>
    string(9) "Alexandra"
    [1]=>
    string(6) "Female"
    [2]=>
    string(9) "4. Senior"
    [3]=>
    string(2) "CA"
    [4]=>
    string(7) "English"
  }
  [1]=>
  array(5) {
    [0]=>
    string(6) "Andrew"
    [1]=>
    string(4) "Male"
    [2]=>
    string(11) "1. Freshman"

etc...

参考

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多