每次都无法追加以A列开头的行

时间:2019-02-06 07:11:57

标签: google-sheets google-sheets-api google-api-php-client

我正在尝试使用google api php客户端在电子表格中附加一些值。

我已经成功地在工作表中添加了数据,但是每次运行代码时,它都会开始从前一行在下一行结束的列中附加值。

我每次都尝试在新行中附加值,但必须从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 );

现在,当我运行此代码时,它将“ Item”添加到新行的A列中,并将“ Ship Date”添加到F列中。 这是正确的。

但是当我再次运行相同的代码时,它将数据追加到新行中,但以F列开始,以K列结束。

我希望下次数据也应从A列开始追加,并在F列结束。

请帮助我实现这一目标,我已阅读其文档,但无法使其正常运行,试图在各种网站上的Internet上找到答案,但未能使其正常运行。 谁能帮我这个忙。

2 个答案:

答案 0 :(得分:1)

深入研究代码后,我找到了解决方法。

如果有人在寻找相同的东西,那么对我来说解决方案是我需要更改范围。 首先获取所有值并找到工作表中存在的行数,然后可以在工作表中附加空白值,从新的行和列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;

在正常工作的代码中使用此范围。

答案 1 :(得分:0)

手动设置工作表的标题行,并且始终仅使用标题行的范围

$range      = 'sheet1!A1:Z1';