0

J'utilise Symfony 3.2 (PHP Framework) et Google API pour gérer Google Spreadsheet en utilisant du code. J'utilise la bibliothèque google/apiclient et asimlqt/php-google-spreadsheet-client pour gérer Google Sheet.Les lignes vides ne peuvent pas être écrites. utilisez delete à la place - PHP

Comme d'habitude, j'ai également créé Application dans console.developers.google.com.

Tout fonctionne parfaitement, mais quand j'ajoute de nouvelles colonnes dans Google Sheet après que ce problème est soulevé.

J'ai supprimé l'application de console.developers.google.com et la recréer aussi, je crée une nouvelle feuille de calcul. Mais encore le même problème.

Je suis ce Document.

Ce document mentionne ce problème mais ne le mentionne pas Comment résoudre ce problème.

C'est un document qui je suis https://www.twilio.com/blog/2017/03/google-spreadsheets-and-php.html

+0

Etes-vous sûr que vous n'essayez pas d'insérer une ligne vide? Le message d'erreur semble assez clair ... – DaveyDaveDave

Répondre

0

Yoo, trouvé réponse, je l'ai fait erreur stupide et rien de mal avec le code.

1) Si vous utilisez Google Spreadsheets et qu'il a soudainement cessé de fonctionner, vérifiez que vous n'avez pas accidentellement inséré une ligne vide n'importe où. Il interprète une ligne vide comme la fin de la feuille de calcul.

2) Suppression de lignes existantes ou des colonnes et la feuille Recourir

3) Assurez-vous que le nom en-tête de la feuille et votre clé Array (objet d'insertion) doivent être identiques.

4) Les documents Google Sheets ne prennent pas en charge les noms de colonnes qui commencent par un chiffre, contiennent des espaces ou contiennent des traits de soulignement. Après la suppression de toutes les lignes et colonnes, j'ai essayé avec le même code et cela fonctionne.

1

L'un de vos noms de colonne contient-il des traits de soulignement?

Je trouve que lorsque vous ajoutez des données, ce qui suit:

$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'], 
    ]); 
} 

n'a pas fonctionné, mais ce qui suit fait le travail:

$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'], 
    ]); 
} 

Notez la différence entre le texte de la clé du tableau - email_address et adresse email.

Il semble que vous devez supprimer les traits de soulignement des touches de tableau lorsque vous utilisez la méthode insert sur un fil de liste.

+0

Oui, Ceci est le seul cas, Nous ne pouvons pas gérer la cellule si l'en-tête de la colonne contient "_". Mais mon cas était différent. –