Вы можете обновить форматирование ячеек и диапазонов в электронных таблицах с помощью API Google Таблиц. Примеры на этой странице иллюстрируют, как некоторые распространённые операции форматирования можно реализовать с помощью API Таблиц. Дополнительные примеры условного форматирования можно найти на странице рецептов условного форматирования .
При обновлении электронной таблицы некоторые типы запросов могут возвращать ответы. Они возвращаются в массиве, где каждый ответ занимает тот же индекс, что и соответствующий запрос. Некоторые запросы не имеют ответов, и для них ответ пустой. Структуру ответа для этих примеров можно найти в разделе 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
. Пример даты и времени в этом формате: «02:05:07 PM, Вс, 3 апреля 2016 г.».
Второй запрос задаёт ячейкам в диапазоне B1:B10 пользовательский числовой формат #,##0.0000
, который указывает, что числа должны быть сгруппированы с разделителями-запятыми, что после запятой должно быть 4 цифры, а все начальные нули, кроме одного, должны быть отброшены. Например, число «3.14» отображается как «3.1400», а «12345.12345» — как «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" } } ] }
Вы можете обновить форматирование ячеек и диапазонов в электронных таблицах с помощью API Google Таблиц. Примеры на этой странице иллюстрируют, как некоторые распространённые операции форматирования можно реализовать с помощью API Таблиц. Дополнительные примеры условного форматирования можно найти на странице рецептов условного форматирования .
При обновлении электронной таблицы некоторые типы запросов могут возвращать ответы. Они возвращаются в массиве, где каждый ответ занимает тот же индекс, что и соответствующий запрос. Некоторые запросы не имеют ответов, и для них ответ пустой. Структуру ответа для этих примеров можно найти в разделе 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
. Пример даты и времени в этом формате: «02:05:07 PM, Вс, 3 апреля 2016 г.».
Второй запрос задаёт ячейкам в диапазоне B1:B10 пользовательский числовой формат #,##0.0000
, который указывает, что числа должны быть сгруппированы с разделителями-запятыми, что после запятой должно быть 4 цифры, а все начальные нули, кроме одного, должны быть отброшены. Например, число «3.14» отображается как «3.1400», а «12345.12345» — как «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" } } ] }