空行不能写;使用删除 - PHP

时间:2017-08-29 12:46:41

标签: google-sheets spreadsheet google-spreadsheet-api symfony-3.2

我使用Symfony 3.2(PHP框架)和Google API使用代码管理Google电子表格。

我使用google/apiclientasimlqt/php-google-spreadsheet-client库来管理Google表格。

通常,我还在console.developers.google.com中创建了应用程序。

一切都运行良好,但是当我在Google Sheet中添加新列之后,就会出现此问题。

我从console.developers.google.com删除了应用程序并重新创建它,我也创建了新的电子表格。但同样的问题又来了。

我跟随此Document

本文档提到了此问题,但没有提及如何解决此问题。

这是我跟随https://www.twilio.com/blog/2017/03/google-spreadsheets-and-php.html

的文件

2 个答案:

答案 0 :(得分:1)

Yoo,答案发现,我犯了愚蠢的错误并且代码没有错。

1)如果您正在使用Google Spreadsheets并且它突然停止工作,请确认您没有意外地在任何地方插入空白行。它将空白行解释为电子表格的末尾。

2)删除现有的行或列并使用工作表

3)确保工作表的标题名称和您的数组键(插入对象)必须相同。

4)Google表格文档不支持以数字开头,包含空格或包含下划线的列名。

删除所有行和列后,我尝试使用相同的代码,它正在运行。

答案 1 :(得分:1)

您的任何列名都包含下划线吗?

我在添加数据时发现了以下内容:

$worksheet = $sheet->getWorksheetByTitle('Test');
$listFeed = $worksheet->getListFeed();
$cellFeed = $worksheet->getCellFeed();
$cellFeed->editCell(1,1, 'email_address');

foreach ($rows as $row) {
    $listFeed->insert([
        'email_address' => $row['email_address'],
    ]);
}

无效,但以下确实有效:

$worksheet = $sheet->getWorksheetByTitle('Test');
$listFeed = $worksheet->getListFeed();
$cellFeed = $worksheet->getCellFeed();
$cellFeed->editCell(1,1, 'email_address');

foreach ($rows as $row) {
    $listFeed->insert([
        'emailaddress' => $row['email_address'],
    ]);
}

请注意数组键的文字之间的区别 - email_address emailaddress

在列表供稿中使用insert方法时,似乎必须从数组键中去掉下划线。