Вы можете обновить форматирование ячеек и диапазонов в электронных таблицах с помощью API Google Sheets. Примеры на этой странице иллюстрируют, как некоторые общие операции форматирования могут быть выполнены с помощью API Sheets. Вы можете найти больше примеров условного форматирования на странице рецептов условного форматирования .
При обновлении электронной таблицы некоторые виды запросов могут возвращать ответы. Они возвращаются в массиве, где каждый ответ занимает тот же индекс, что и соответствующий запрос. Некоторые запросы не имеют ответов, и для них ответ пустой. Структуру ответа для этих примеров можно найти в spreadsheets.batchUpdate
.
Эти примеры представлены в форме HTTP-запросов, чтобы быть нейтральными по отношению к языку. Чтобы узнать, как реализовать пакетное обновление на разных языках с использованием клиентских библиотек API Google, см. Обновление электронных таблиц .
В этих примерах заполнители SPREADSHEET_ID и SHEET_ID указывают, где вы должны предоставить эти идентификаторы. Вы можете найти идентификатор электронной таблицы в URL-адресе электронной таблицы. Вы можете получить идентификатор листа , используя метод spreadsheets.get
. Диапазоны указываются с помощью нотации A1 . Пример диапазона — Sheet1!A1:D5.
В приведенном выше видео вы узнаете, как форматировать ячейки электронной таблицы различными способами, в том числе: создавать закрепленные строки, выделять ячейки жирным шрифтом, применять форматирование валюты, выполнять проверку ячеек и ограничивать значения ячеек.
Изменить границы ячеек
Следующий пример кода spreadsheets.batchUpdate
показывает, как использовать UpdateBordersRequest
для задания каждой ячейке в диапазоне A1:F10 пунктирной синей верхней и нижней границы. Поле innerHorizontal
создает горизонтальные границы внутри диапазона. Если это поле пропустить, границы будут добавлены только сверху и снизу всего диапазона.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateBorders": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 6 }, "top": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "bottom": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, "innerHorizontal": { "style": "DASHED", "width": 1, "color": { "blue": 1.0 }, }, } } ] }
Форматировать строку заголовка
Следующий пример кода spreadsheets.batchUpdate
показывает, как использовать RepeatCellRequest
для форматирования строки заголовка на листе. Первый запрос обновляет цвет текста, цвет фона, размер шрифта текста и выравнивание текста, а также делает текст жирным. Пропуск индексов столбцов в поле range
приводит к форматированию всей строки. Второй запрос настраивает свойства листа таким образом, чтобы строка заголовка была заморожена.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 1 }, "cell": { "userEnteredFormat": { "backgroundColor": { "red": 0.0, "green": 0.0, "blue": 0.0 }, "horizontalAlignment" : "CENTER", "textFormat": { "foregroundColor": { "red": 1.0, "green": 1.0, "blue": 1.0 }, "fontSize": 12, "bold": true } } }, "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)" } }, { "updateSheetProperties": { "properties": { "sheetId": SHEET_ID, "gridProperties": { "frozenRowCount": 1 } }, "fields": "gridProperties.frozenRowCount" } } ] }
Объединить ячейки
Следующий пример кода spreadsheets.batchUpdate
показывает, как использовать MergeCellsRequest
для объединения ячеек. Первый запрос объединяет диапазон A1:B2 в одну ячейку. Второй запрос объединяет столбцы в A3:B6, оставляя строки разделенными.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 2, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_ALL" } }, { "mergeCells": { "range": { "sheetId": SHEET_ID, "startRowIndex": 2, "endRowIndex": 6, "startColumnIndex": 0, "endColumnIndex": 2 }, "mergeType": "MERGE_COLUMNS" } }, ] }
Установите пользовательский формат даты и времени или десятичный формат для диапазона
Следующий пример кода spreadsheets.batchUpdate
показывает, как использовать RepeatCellRequest
для обновления ячеек с целью получения пользовательских форматов даты и времени и чисел. Первый запрос задает ячейкам в диапазоне A1:A10 пользовательский формат даты и времени hh:mm:ss am/pm, ddd mmm dd yyyy
. Пример datetime в этом формате: "02:05:07 PM, Sun Apr 03 2016".
The second request gives the cells in B1:B10 the custom number format #,##0.0000
, which indicates that numbers should be grouped with comma separators, that there should be 4 digits after the decimal, and that all but one leading zero should be dropped. For example, the number "3.14" is rendered as "3.1400", while "12345.12345" is rendered as "12,345.1235".
Более подробную информацию см. в разделе Форматы дат и чисел .
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 1 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE", "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy" } } }, "fields": "userEnteredFormat.numberFormat" } }, { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 1, "endColumnIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "NUMBER", "pattern": "#,##0.0000" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }