0
GoogleスプレッドシートAPI v4のセルの数値書式を、背景色などを変更せずに更新したいとします。GoogleスプレッドシートAPI v4は何も変更せずにセル番号形式を更新します
以下のコードは、セルの数値書式を更新しますが、背景色などもリセットします。私は$fields = 'userEnteredFormat.numberFormat';
の設定は他の設定だけを残すだろうと思った。他のすべての書式設定を指定せずに、私が望むものを得る方法はありますか?
<?php
require_once __DIR__ . '/../vendor/autoload.php';
$auth = __DIR__ . '/path-to-auth.json';
$creds = __DIR__ . '/path-to-creds.json';
$spreadsheetId = 'spreadsheet-id';
$sheetId = 0;
$format = '0.0%';
$client = new Google_Client();
$client->setAuthConfig($auth);
$token = file_get_contents($creds);
$client->setAccessToken($token);
$service = new Google_Service_Sheets($client);
$numberFormat = new Google_Service_Sheets_NumberFormat();
$numberFormat->setType('NUMBER');
$numberFormat->setPattern($format);
$cellFormat = new Google_Service_Sheets_CellFormat();
$cellFormat->setNumberFormat($numberFormat);
$cellData = new Google_Service_Sheets_CellData();
$cellData->setUserEnteredFormat($cellFormat);
$rowData = new Google_Service_Sheets_RowData();
$rowData->setValues([$cellData]);
$rows[] = $rowData;
$gridRange = new Google_Service_Sheets_GridRange();
$gridRange->setSheetId($sheetId);
$gridRange->setStartRowIndex(0);
$gridRange->setEndRowIndex(1);
$gridRange->setStartColumnIndex(0);
$gridRange->setEndColumnIndex(1);
$fields = 'userEnteredFormat.numberFormat';
$updateCellsRequest = new Google_Service_Sheets_UpdateCellsRequest();
$updateCellsRequest->setFields($fields);
$updateCellsRequest->setRows($rows);
$updateCellsRequest->setRange($gridRange);
$request = new Google_Service_Sheets_Request();
$request->setUpdateCells($updateCellsRequest);
$batchUpdate = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
$batchUpdate->setRequests([$request]);
$service->spreadsheets->batchUpdate($spreadsheetId, $batchUpdate);
?>
私はPHPに精通していませんが、[this](https://developers.google.com/sheets/samples/formatting)と[this](https://developers.google.com/sheets)を確認できます。/guides/formats#number_format_examples)スプレッドシートAPIのフォーマットに関するもの – KENdi