用PHP更新Google工作表的最后一行

胭脂红鲁贝托

我需要在Excel行的最后一个单元格(G列)中插入一个变量。

在第一个阶段中,前5个单元格已填充,包括签入时间,之后我必须输入签出。

变量在.php文件中正确到达,因为在插入阶段一切正常。

现在,我想了解什么是输入退房日期的最佳解决方案。

我可以通过仅在最后一个单元格中插入变量来更新行吗?

可能会同时插入几行,因此我应该能够根据其他单元格的值(例如(唯一)电话号码)进行更新。

你可以帮帮我吗?

随附的是插入行的工作代码:

    $range ="info_contatto";
    
    $values = [
        [$_POST['datetime_in'], $_POST['firstname'], $_POST['lastname'], $_POST['address'], $_POST['phonenumber'], $_POST['temperature'], ""],
    ];
    
    $body = new Google_Service_Sheets_ValueRange([
        'values' => $values    
    ]);
    
    $params = [
        'valueInputOption' => 'RAW'
    ];
    
    $insert = [
        "insertDataOption" => "INSERT_ROWS"
    ];
    
    $result = $service->spreadsheets_values->append(
        $spreadsheetId,
        $range,
        $body,
        $params,
        $insert
    );
Tanaike

我相信您的目标如下。

  • 对于Google Spreadsheet,您想通过使用googleapis for php搜索“ E”(“电话号码”)的值来更新“ G”列的单元格。

修改要点:

  • 不幸的是,在当前阶段,Sheets API无法直接搜索值。因此,在这种情况下,需要执行以下流程。
    1. 从电子表格中检索值。
      • 使用sheets.values.get。
    2. 从检索到的值中搜索一个值。
      • 在这种情况下,将使用脚本。
    3. 使用搜索结果更新单元格。
      • 使用sheets.values.batchUpdate。

当以上流程反映到脚本时,它变为如下。

修改后的脚本:

$search_phonenumber = "###";  // Please set the value you want to search. In this case, the column "E" is searched.
$put_value = "###";  // Please set the value you want to put. In this case, the value is put to the column "G".
$spreadsheetId = "###"; // please set Spreadsheet ID.
$range = "info_contatto"; // please set the range (sheet name).

$client = getClient();
$service = new Google_Service_Sheets($client);
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
$rows = [];
foreach ($values as $i => $v) {
    if ($v[4] == $search_phonenumber) {
        array_push($rows, $i);
    }
}
if (count($rows) > 0) {
    $data = Array_map(function($r) use($range, $put_value) { return new Google_Service_Sheets_ValueRange([
        'range' => $range . "!G" . ($r + 1),
        'majorDimension' => 'ROWS',
        'values' => [[$put_value]]
    ]);}, $rows);
    $requestBody = new Google_Service_Sheets_BatchUpdateValuesRequest([
        "valueInputOption" => "USER_ENTERED",
        "data" => $data
    ]);
    $response = $service->spreadsheets_values->batchUpdate($spreadsheetId, $requestBody);
    rint(json_encode($response));
};

注意:

  • 在此示例脚本中,它假定$service可用于检索和放置Google Spreadsheet的值。请注意这一点。

参考文献:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQl:用选择中的最后一行更新表

仅从工作表复制最后一行并将其粘贴到另一工作表的最后一行

访问 VBA:获取 Excel 工作表的最后一行

某些工作表的最后一行重复

用mongodb中的搜索条件更新最后一行

从工作表中一个表的最后一行复制/粘贴到另一最后一行

如何获取动态更新的表的最后一行?

如何更新laravel表中的最后一行?

用 PHP 删除或替换 CSV 文件的最后一行

从PHP更新mysql中的最后一行

PHP数组显示表中的最后一行值

包含工作表上数据的真实最后一行和最后一列

用相应的值更新表的每一行

将过滤后的行从工作表复制到另一个工作表的最后一行

将数据附加到另一个工作表的最后一行

根据另一个工作表的最后一行向下拖动公式

更新最后一行MYSQL

如何选择并输出工作表或已过滤列表的第一行和最后一行?

VBA:保留Excel工作表的第一行和最后一行重复列值

如何使用 Google Apps Script 将一系列选定数据复制到同一工作表中的最后一行数据之后?

用查询语言,mysql,php更新一行

选择表中的最后一行

如何更新动态 PHP 表的每一行

在excel的单独工作表上找不到最后一行

Excel VBA 查找工作表上的最后一行

Outlook VBA在Excel工作表中查找最后一行

在打印Excel工作表(EPPlus)时如何获取最后一行的行号

如果工作表中存在数据,则返回最后一行

从记事本复制并粘贴到Excel工作表的最后一行