doubingqi5829
2017-02-19 09:46
浏览 70
已采纳

如何使用Google表格API v4使用PHP在电子表格中创建新工作表或选项卡

With PHP, it is unclear from the Google Sheets API v4 documentation on how to create a new sheet (aka "tab") in an existing spreadsheet.

I can do it with batchUpdate, oddly, via the API Explorer, but they don't explain from that how to do this in PHP.

图片转代码服务由CSDN问答提供 功能建议

使用PHP,不清楚 Google表格API v4文档,介绍如何在现有电子表格中创建新工作表(也称为”制表符“)。

奇怪的是,我可以通过 API Explorer ,但他们没有解释如何在PHP中执行此操作。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqhbuwrwq692118284 2017-02-19 10:26
    已采纳

    It looks like the documentation is saying that we must use batchUpdate from $service->spreadsheets_values collection. But that's incorrect. It should be the $service->spreadsheets collection. The proper answer after a lot of trial and error is:

    try {
        $body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
            'requests' => array(
                'addSheet' => array(
                    'properties' => array(
                        'title' => 'New Sheet'
                    )
                )
            )
        ));
        $result1 = $service->spreadsheets->batchUpdate($sSpreadsheetID,$body);
    } catch(Exception $ignore) {}
    

    Given that you have already authenticated your API to get a $client object, and then used that to get a $service object of class Google_Service_Sheets, and given that you have assigned $sSpreadsheetID to the ID of your spreadsheet, then the above routine will attempt to add a new tab to your spreadsheet named 'New Sheet' without destroying any existing one, and will not show errors if this tab already exists. At that point, you can do something new with that new sheet by addressing it with the A1 Notation.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题