Невозможно добавлять строки, начинающиеся со столбца A каждый раз - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь добавить некоторые значения в электронную таблицу с помощью google api php client.

Я успешно добавил данные в таблицу, но каждый раз, когда я запускаю код, он начинает добавлять значения из столбца, где заканчивался предыдущийв следующей строке.

Я пытаюсь каждый раз добавлять значения в новую строку, но она должна начинаться со столбца A.

Вот мой код.

$client  = getClient();
$service = new Google_Service_Sheets( $client );

$spreadsheetId = 'my-spreadsheet-id';
$range         = 'sheet1';

$values = array(
    array( "Item", "Cost", "Stocked", '', '', "Ship Date" )
);

$body   = new Google_Service_Sheets_ValueRange( array( 'values' => 
$values, 'majorDimension' => 'ROWS', 'range' => 'sheet1' ) );

$params = array( 'valueInputOption' => 'USER_ENTERED', 
'insertDataOption' => 'INSERT_ROWS' );

$service->spreadsheets_values->append( $spreadsheetId, $range, 
$body, $params );

Теперь, когда я запускаю этот код, он добавляет «Элемент» в столбец A новой строки и «Дата отгрузки» в столбец F. Это правильно.

Но когда я снова запускаю тот же код, он добавляетданные в новой строке, но начинаются со столбца F и заканчиваются столбцом K.

Я хочу, чтобы в следующий раз данные также начали добавляться из столбца A и заканчивались в столбце F.

Пожалуйста, помогите мнеДобившись этого, я прочитал его документацию, но не смог заставить его работать, попытался найти ответ в интернете на разных сайтах, но не смог заставить его работать.Может кто-нибудь, пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 06 февраля 2019

Я нашел разрешение после того, как углубился в код.

Если кто-то ищет то же самое, для меня решение - мне нужно изменить диапазон.Сначала получите все значения и найдите количество строк, присутствующих в листе, затем вы можете добавить пустые значения в лист, начиная с новой строки и столбца A

Вот мой обновленный код для диапазона:

$range      = 'sheet1!A1:Z';
$response   = $service->spreadsheets_values->get( $spreadsheetId, $range );
$get_values = $response->getValues();
$row        = count( $get_values ) + 1;// Plus 1 for new row.

$range = 'sheet1!A' . $row . ':Z' . $row;

Используйте этот диапазон в коде, который отлично работает.

...