我需要在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
);
我相信您的目标如下。
当以上流程反映到脚本时,它变为如下。
$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] 删除。
我来说两句