2016-07-30 3 views
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); 

?> 
+0

저는 PHP에 익숙하지 않지만 [this] (https://developers.google.com/sheets/samples/formatting) 및 [this] (https://developers.google.com/sheets)를 확인할 수 있습니다./guides/formats # number_format_examples) 스프레드 시트 API의 형식에 관한 정보 – KENdi

답변

0

이것은 특정 요청을 처리 할 때 서비스의 버그입니다. 다음 주 언젠가는 고쳐야합니다. 문제를 일으켜서 미안 해요.