В этом документе описываются основные принципы использования метода spreadsheets.batchUpdate для ресурса spreadsheets .
Помимо данных, содержащихся в ячейках, электронная таблица включает в себя множество других типов данных, таких как:
- Размеры
- Форматы ячеек и границы
- Именованные диапазоны
- Охраняемые полигоны
- Условное форматирование
Это лишь некоторые из множества типов данных, которые управляют внешним видом и работой электронной таблицы. Метод spreadsheets.batchUpdate позволяет обновлять любые из этих данных электронной таблицы. Изменения группируются в пакет, так что если один запрос не удался, никакие другие (потенциально зависимые) изменения не будут записаны.
Если вам необходимо считывать и записывать данные значений ячеек, вы также можете использовать ресурс spreadsheets.values , как описано в разделе «Чтение и запись значений ячеек» .
Типы операций
Операции, поддерживаемые методом spreadsheets.batchUpdate , можно сгруппировать в следующие основные типы операций:
| Категория | Описание |
|---|---|
| Добавить (и продублировать ) | Добавление новых объектов (иногда на основе старых, как в случае с дублирующимися запросами). |
| Обновить (и установить ) | Обновить определенные свойства объекта, обычно оставляя старые свойства без изменений (в то время как запрос Set перезаписывает предыдущие данные). |
| Удалить | Удалите объекты. |
В следующем разделе эти категории используются для описания поведения конкретных операций.
Операции пакетного обновления
Метод spreadsheets.batchUpdate принимает один или несколько объектов Request , каждый из которых определяет тип выполняемого запроса. В следующей таблице перечислены типы запросов пакетного обновления, сгруппированные по объекту ресурса и типу операции:
Запросы на манипулирование данными
Также существуют дополнительные запросы, имитирующие действия пользователя по манипулированию данными:
| Запрос | Описание |
|---|---|
AutoFillRequest | Автоматически заполняет дополнительные данные на основе уже имеющихся данных. |
CopyPasteRequest | Копирует данные из одной области и вставляет их в другую. |
CutPasteRequest | Вырезает данные из одной области и вставляет их в другую. |
DeleteDuplicatesRequest | Удаляет строки, содержащие повторяющиеся значения в указанных столбцах диапазона ячеек. |
FindReplaceRequest | Находит и заменяет вхождения одного текста другим. |
PasteDataRequest | Вставляет данные (HTML или с разделителями) в таблицу. |
RandomizeRangeRequest | В случайном порядке меняет порядок строк в заданном диапазоне. |
SortRangeRequest | Сортирует данные в заданном диапазоне. |
TextToColumnsRequest | Преобразует один столбец текста в несколько столбцов текста. |
TrimWhitespaceRequest | Удаляет пробелы (например, пробелы, табуляции или переносы строк) из ячеек. |
Чтобы узнать больше об ограничениях на количество ячеек и строк в Google Таблицах, см. раздел «Файлы, которые можно хранить в Google Диске» .
Используйте маски полей для обновления конкретных полей.
Для многих запросов на обновление требуется FieldMask . FieldMask — это список полей, разделенных запятыми, который используется для указания того, какие поля в объекте следует обновить, оставив все остальные поля без изменений. Использование FieldMask предотвращает случайное перезаписывание полей, которые не указаны в запросе.
Для получения дополнительной информации о масках полей см. раздел «Обновление с использованием маски поля» .
Приведенный ниже пример кода демонстрирует, как использовать метод UpdateSpreadsheetPropertiesRequest для обновления только заголовка электронной таблицы:
Запрос
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
Текст запроса
{
"requests": [{
"updateSpreadsheetProperties": {
"properties": {"title": "TITLE"},
"fields": "title"
}
}]
}Замените TITLE на новое название электронной таблицы.
Ответы на пакетное обновление
При обновлении электронной таблицы некоторые типы запросов могут возвращать ответы. Ответы возвращаются в виде массива, причем каждый ответ занимает тот же индекс, что и соответствующий запрос. Некоторые запросы не имеют ответов, и для них ответ является пустым.
Как правило, запросы на добавление (add) получают в ответ информацию, такую как идентификатор добавляемого объекта. Список поддерживаемых ответов см. в разделе « Responses ».
Пример кода: Пакетное обновление электронной таблицы
Следующий пример кода демонстрирует, как выполнить эти действия:
- Обновите заголовок электронной таблицы, используя переменную
title. - Найдите и замените значения ячеек в электронной таблице, используя переменные
findиreplacement.