Если я прокручиваю электронную таблицу, поля заголовка строк скрыты, и мне нужен жирный шрифт в той же электронной таблице.
Вопрос
Можно ли закрепить строки и стили с помощью API электронной таблицы? Возможно ли это?
Если я прокручиваю электронную таблицу, поля заголовка строк скрыты, и мне нужен жирный шрифт в той же электронной таблице.
Вопрос
Можно ли закрепить строки и стили с помощью API электронной таблицы? Возможно ли это?
Теперь это доступно в v4 API.
Вот ссылка на реализацию JAVA API: https://developers.google.com/resources/api-libraries/documentation/sheets/v4/java/latest/com/google/api/services/sheets./v4/model/GridProperties.html#setFrozenRowCount(java.lang.Integer)
Вот документация по API: https://developers.google.com/sheets/reference/rest/v4/spreadsheets#gridproperties
Если вы хотите сделать это с помощью скрипта приложения, вы также можете: https://developers.google.com/apps-script/reference/spreadsheet/sheet#setFrozenRows(Integer)
Это запрос, который я сделал с Ruby API:
update_sheet_properties: {
properties: {
sheet_id: 'YOUR SHEET ID HERE',
grid_properties: { frozen_row_count: 4 }
},
fields: 'gridProperties.frozenRowCount'
}
Если кто-то ищет решение с помощью PHP для форматирования заголовка и замораживания заголовка при прокрутке, вы можете использовать этот подход, как указано ниже:
//$client will be your google service client request after authorization.
$service = new Google_Service_Sheets($client);
$formatRowColrequests = [
new Google_Service_Sheets_Request([
"repeatCell" => [
"range" => [
"sheetId" => $setSheetId, //set your sheet ID
"startRowIndex" => 0,
"endRowIndex" => 1,
"startColumnIndex" => 0,
"endColumnIndex" => 100
],
"cell" => [
"userEnteredFormat" => [
"horizontalAlignment" => "CENTER",
"textFormat" => [
"fontSize" => 9,
"bold" => true
]
]
],
"fields" => "userEnteredFormat(textFormat,horizontalAlignment)"
]
]),
new Google_Service_Sheets_Request([
'updateSheetProperties' => [
'properties' => [
'sheetId' => $setSheetId,
'gridProperties' => [
'frozenRowCount' => 1
]
],
"fields"=> "gridProperties.frozenRowCount"
]
])
];
$batchUpdateCellFormatRequest = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest([
'requests' => $formatRowColrequests
]);
$service->spreadsheets->batchUpdate($spreadsheetId, $batchUpdateCellFormatRequest);
Вот как это сделать в андроиде. Потребовалось время, чтобы понять. Документация дает несколько примеров [для этого].
SpreadsheetProperties properties = new SpreadsheetProperties();
properties.setTitle(calendar.getTime().toString());
Spreadsheet requestBody = new Spreadsheet();
GridProperties gridProperties = new GridProperties();
gridProperties.setFrozenRowCount(2);
SheetProperties sheetProperties = new SheetProperties();
sheetProperties.setTitle("my new sheet");
sheetProperties.setGridProperties(gridProperties);
Sheet sheet = new Sheet();
sheet.setProperties(sheetProperties);
List<Sheet> sheets = new ArrayList<>();
sheets.add(sheet);
requestBody.setSheets(sheets);
requestBody.setProperties(properties);