2016-07-30 51 views
0

我想更新Google Sheets API v4中单元格的数字格式,而不更改背景颜色。Google Sheets 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)一个关于Sheets API中的格式 – KENdi

回答

0

这是处理该特定请求时服务中的一个错误。它应该在下个星期某个时候修复。抱歉,添麻烦了。

相关问题