如何在电子表格内附加到表格

时间:2019-06-04 15:48:37

标签: google-sheets google-sheets-api

看看Google Sheets API,将行追加到现有电子表格(文档为here)似乎很容易。

我不知道该怎么做,是在包含多个表格的电子表格中向特定表格追加一行。工作表似乎具有自己的ID(已记录为here),但是append操作需要spreadsheetID。追加到包含多个表格的电子表格似乎总是追加到当前电子表格中的“第一个”表格。

有人知道如何使用API​​ / SDK发出请求以将行附加到特定表格吗?

1 个答案:

答案 0 :(得分:1)

要将行或数据追加到工作表中,您需要使用工作表名称,而不是工作表ID。

示例:

Sheet1!A5:A指的是 Sheet 1 的第一列(从第5行开始)的所有单元格。

如果工作表名称包含空格或以方括号开头,请用单引号(')括住工作表名称,例如'Sheet One'!A1:B2。为简单起见,将工作表名称始终用单引号引起来是安全的。

请点击以下两个链接

A1 Notation

Append values to sheet

PHP中的代码示例

$googleClient = createGoogleClient();    //your implementation to get google client
$sheetService = new Google_Service_Sheets($googleClient);

$spreedSheetId = "1pz5uJAUnk3BRR1dxWz_C5NHhMpf20yPQnLYIoyl0kdd"; //your spreedsheet id
$sheetTitle = "Sheet1";         //SheetTitle
$range = "'" . $sheetTitle . "'!A1";

$row = array("Column1_Value", "Column2_Value", "Column3_Value", 
              "Column4_Value");
$rows[] = $row;

/** @var Google_Service_Sheets_ValueRange $body */
$body = new Google_Service_Sheets_ValueRange(['values' => $rows]);
$params = [
  'valueInputOption' => 'USER_ENTERED',
  'insertDataOption' => 'OVERWRITE',
  'responseValueRenderOption' => 'FORMATTED_VALUE',
];
$result = $sheetService->spreadsheets_values->append($spreedSheetId, 
$range, $body, $params);
$updatedCells = $result->getUpdates()->getUpdatedCells();
printf("%d cells updated.", $updatedCells);  
相关问题