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



我正在尝试使用谷歌 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 );

现在,当我运行此代码时,它会在新行的 A 列上附加"项目",在 F 列上附加"发货日期"。这是正确的。

但是当我再次运行相同的代码时,它会在新行中附加数据,但以 F 列开头,以 K 列结束。

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

请帮助我实现这一目标,我已经阅读了它的文档,但无法使其工作,试图在各种网站上的互联网上找到答案,但无法使其工作。谁能帮我解决这个问题。

我在深入代码后找到了解决方案。

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

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

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

$range      = 'sheet1!A1:Z1';

最新更新