Php GoogleSheetsAPI4:如何附加到行的末尾

Php GoogleSheetsAPI4:如何附加到行的末尾,php,google-sheets-api,Php,Google Sheets Api,可以通过提供范围来更新行,代码如下: $range = "A1:B1"; $valueRange= new Google_Service_Sheets_ValueRange(); $valueRange->setValues(["values" => ["a", "b"]]); $conf = ["valueInputOption" => "RAW"]; $service->spreadsheets_values->update($spreadsheetId, $

可以通过提供范围来更新行,代码如下:

$range = "A1:B1";
$valueRange= new Google_Service_Sheets_ValueRange();
$valueRange->setValues(["values" => ["a", "b"]]); 
$conf = ["valueInputOption" => "RAW"];
$service->spreadsheets_values->update($spreadsheetId, $range, $valueRange, $conf);
考虑到我不知道范围,如何将行插入到工作表的末尾。

您在找什么?例如,使用指南是

append
的参考文档将其描述为:
将值附加到电子表格。输入范围用于搜索现有数据并在该范围内查找“表”。值将追加到表的下一行,从表的第一列开始。有关如何检测表和添加数据的具体细节,请参阅指南和示例代码。


如果这不是你想要的,你能更具体地回答你的问题吗?

因为我做了一个与你正在做的事情的概念非常相似的项目(虽然我使用了JS),我建议检查行是否为空或不使用for Sheetsv4。如果单元格为空,则使用指南将附加数据写入其中。当我不知道最后一行时,这是我的动态解决方法。

正如Sam指出的,文档说明“范围用于搜索现有数据”和“值将附加到下一行”

因此,如果将范围设置为整个电子表格,则会得到所需的结果。(最初的帖子标题是“附加到行的末尾”,而您的描述是“在电子表格的末尾添加一行”,所以我假设您想要的是后者。)

因此,将范围设置为工作表名称

$range = "Sheet1";       //your worksheet name
$valueRange= new Google_Service_Sheets_ValueRange();
$valueRange->setValues(["values" => ["a", "b"]]); 
$conf = ["valueInputOption" => "RAW"];
$service->spreadsheets_values->append($spreadsheetId, $range, $valueRange, $conf);

行将添加到电子表格的底部。

我尝试过追加,但它不在Sheets\u ValueRange下,并且由于缺少PHP文档,我无法找到正确的类来使用。我试图在Google提供的PHP SDK中找到正确的类和语法来使用append。请参阅-PHP客户端库缺少添加append方法的更新。我正在努力更新它们,当它们更新时,我会ping这个线程。更新后,它就开始工作了!如果没有专门设置日期并使用系统日期,则会抛出一个致命错误,或者就是这样设计的。通过设置日期解决了此问题。可能值得在此添加的是,如果您要添加非文本基单元格内容,例如超链接或公式,您可能需要使用$conf=[“valueInputOption”=>“USER_ENTERED”],否则它只会将值作为字符串插入。