无法隐藏网格线 Google 电子表格 API PHP
Cannot hide gridlines Google Spreadsheet API PHP
我正在尝试隐藏我刚刚使用 Google 工作表 API 创建的文件中的所有网格线,我正在使用以下代码:
$service = $this->GoogleServiceSheets();
$sheetID = null;
$worksheetSheets = $service->spreadsheets->get($fileID)->sheets;
foreach($worksheetSheets as $sheet){
$sheetID = $sheet->properties['sheetId'];
break;
}
$service = $this->GoogleServiceSheets();
$requests = [
new \Google_Service_Sheets_Request([
'updateDimensionProperties' => [
'range'=> new \Google_Service_Sheets_DimensionRange([
'sheetId' => $sheetID,
'dimension' => 'COLUMNS',
'startIndex' => 0,
'endIndex' => 1000
]),
'properties'=> new Google_Service_Sheets_DimensionProperties([
"hideGridlines"=> True,
]),
'fields' => 'hideGridlines'
]
])
];
$batchUpdateRequest = new \Google_Service_Sheets_BatchUpdateSpreadsheetRequest(['requests' => $requests]);
$service->spreadsheets->batchUpdate($fileID, $batchUpdateRequest);
但是没有隐藏,反而报错。
我做错了什么?
为了隐藏Google Spreadsheet with Sheets API的网格线,使用了batchUpdate的UpdateSheetPropertiesRequest。不幸的是,updateDimensionProperties
无法做到这一点。我认为这就是你的问题的原因。为了达到你的目的,当你的脚本修改后,变成如下。
修改后的脚本:
本次修改,你的$requests
修改如下
$requests = [
new \Google_Service_Sheets_Request([
'updateSheetProperties' => [
'properties' => [
'sheetId' => $sheetID,
'gridProperties' => [
'hideGridlines' => true
],
],
'fields' => 'gridProperties.hideGridlines'
],
])
];
注:
- 在此修改中,假设您的
$service = $this->GoogleServiceSheets();
和 $sheetID
是有效值。而且,它假设您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。请注意这一点。
参考:
我正在尝试隐藏我刚刚使用 Google 工作表 API 创建的文件中的所有网格线,我正在使用以下代码:
$service = $this->GoogleServiceSheets();
$sheetID = null;
$worksheetSheets = $service->spreadsheets->get($fileID)->sheets;
foreach($worksheetSheets as $sheet){
$sheetID = $sheet->properties['sheetId'];
break;
}
$service = $this->GoogleServiceSheets();
$requests = [
new \Google_Service_Sheets_Request([
'updateDimensionProperties' => [
'range'=> new \Google_Service_Sheets_DimensionRange([
'sheetId' => $sheetID,
'dimension' => 'COLUMNS',
'startIndex' => 0,
'endIndex' => 1000
]),
'properties'=> new Google_Service_Sheets_DimensionProperties([
"hideGridlines"=> True,
]),
'fields' => 'hideGridlines'
]
])
];
$batchUpdateRequest = new \Google_Service_Sheets_BatchUpdateSpreadsheetRequest(['requests' => $requests]);
$service->spreadsheets->batchUpdate($fileID, $batchUpdateRequest);
但是没有隐藏,反而报错。 我做错了什么?
为了隐藏Google Spreadsheet with Sheets API的网格线,使用了batchUpdate的UpdateSheetPropertiesRequest。不幸的是,updateDimensionProperties
无法做到这一点。我认为这就是你的问题的原因。为了达到你的目的,当你的脚本修改后,变成如下。
修改后的脚本:
本次修改,你的$requests
修改如下
$requests = [
new \Google_Service_Sheets_Request([
'updateSheetProperties' => [
'properties' => [
'sheetId' => $sheetID,
'gridProperties' => [
'hideGridlines' => true
],
],
'fields' => 'gridProperties.hideGridlines'
],
])
];
注:
- 在此修改中,假设您的
$service = $this->GoogleServiceSheets();
和$sheetID
是有效值。而且,它假设您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。请注意这一点。