【问题标题】:Reading Google docs spreadsheet阅读谷歌文档电子表格
【发布时间】:2026-02-10 00:50:02
【问题描述】:

是否可以使用 PHP 从 Google Docs 电子表格中提取行?

在 SQL 中我会使用类似的东西:

SELECT * FROM table WHERE field = 'value' LIMIT 1

有没有办法做到这一点?我听说您应该使用“Zend”框架,但我也无法弄清楚。任何帮助将不胜感激

【问题讨论】:

    标签: php zend-framework google-docs google-sheets google-docs-api


    【解决方案1】:

    来自Zend_Gdata 文档:

    <?php
      $query = new Zend_Gdata_Spreadsheets_ListQuery();
      $query->setSpreadsheetKey($spreadsheetKey);
      $query->setWorksheetId($worksheetId);
      $query->setSpreadsheetQuery('name=John and age>25');
      $listFeed = $spreadsheetService->getListFeed($query);
    ?>
    

    还有to setup the $spreadsheetService object

    <?php
      $service = Zend_Gdata_Spreadsheets::AUTH_SERVICE_NAME;
      $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
      $spreadsheetService = new Zend_Gdata_Spreadsheets($client);
      $feed = $spreadsheetService->getSpreadsheetFeed();
    ?>
    

    您需要下载完整的 Zend Framework 或独立的 Google Data 库。

    【讨论】:

    • 我收到一个错误致命错误:在中找不到类'Zend_Gdata_Spreadsheets_ListQuery'
    • 看起来您从其他帖子中得到了一些不错的答案,只需确保“Zend”目录在您的包含路径中,然后执行require_once('Zend/Gdata/Spreadsheets/ListQuery.php')。其他类也一样。或者只使用自动加载器。
    【解决方案2】:

    您正在寻找的是Google Visualization API Query Language

    无需 PHP 中间件即可使其正常工作。它已经内置在文档中。

    这里有一个brief introduction tutorial,可以帮助您入门。

    这是一种类似 SQL 的语法,通过参数化的 URI 发送查询。它可以以 JSON、CSV 或 HTML 表的形式返回匹配数据。它仍然很新,并且有一些怪癖,所以请务必阅读我发布的第二个链接上的所有 cmets。

    【讨论】: