空行不能写入;使用删除来代替 - PHP

问题描述:

我正在使用Symfony 3.2(PHP框架)和谷歌API来管理谷歌电子表格使用代码。空行不能写入;使用删除来代替 - PHP

我用google/apiclient,并asimlqt/php-google-spreadsheet-client库管理谷歌表。

由于平时,我也console.developers.google.com创建的应用程序。

一切都很完美,但是当我在Google表格中添加新列后,会引发此问题。

我删除应用程序从console.developers.google.com并重新创建它也是我创造新的电子表格。但同样的问题再次。

我跟随此Document

本文提到这个问题,但没有提到如何解决这个问题。

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

+0

您确定没有试图插入空行吗?错误信息似乎很清楚... – DaveyDaveDave

柳文档,找到答案,我做了愚蠢的错误,并没有错代码。

1)如果你使用谷歌电子表格和它突然停止工作,请确认您没有意外地插入空行的任何地方。它将空白行解释为电子表格的结尾。

2)删除现有的行或列与诉诸薄片

3)确保片材的标题名称和你的数组键(插入对象)必须相同。

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

删除所有行和列后,我尝试了相同的代码,它正在工作。

是否有任何列名称包含下划线?

我发现,添加数据时,以下几点:

$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电子邮件地址

看来必须从数组键去掉下划线使用上的列表中进料插入方法时。

+0

是的,这是一种情况,如果列标题包含“_”,我们无法管理单元格。但我的情况不同。 –