Nano Hash - криптовалюты, майнинг, программирование

Закрепите строки и задайте стили с помощью API электронных таблиц Google

Если я прокручиваю электронную таблицу, поля заголовка строк скрыты, и мне нужен жирный шрифт в той же электронной таблице.

Вопрос
Можно ли закрепить строки и стили с помощью API электронной таблицы? Возможно ли это?


  • Возможно, с Google-apps-script, но это невозможно с gdata стилем google-spreadsheet-api 12.05.2014
  • Я бы тоже очень хотел эту функцию. Было бы здорово выделить строку заголовка жирным шрифтом и заморозить ее. 20.07.2016

Ответы:


1

Теперь это доступно в 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'
}
08.08.2016
  • Кстати, мне потребовалось некоторое время, чтобы добраться до «окончательного» решения. Объедините этот ответ с stackoverflow.com/questions/41547008/ для «полного решения». Имейте в виду, что в API Google верблюжий регистр и символ подчеркивания эквивалентны. 25.05.2017

  • 2

    Если кто-то ищет решение с помощью 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);
    
    29.01.2019

    3

    Вот как это сделать в андроиде. Потребовалось время, чтобы понять. Документация дает несколько примеров [для этого].

     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);
    
    02.02.2019
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..