API Google Таблиц позволяет создавать, очищать, копировать и удалять листы, а также управлять их свойствами. Примеры на этой странице иллюстрируют, как выполнять некоторые распространённые операции с Таблицами с помощью API Таблиц.
Эти примеры представлены в виде HTTP-запросов, чтобы не зависеть от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек API Google, см. раздел Обновление электронных таблиц .
В этих примерах плейсхолдеры SPREADSHEET_ID
и SHEET_ID
указывают, где следует указать эти идентификаторы. Идентификатор таблицы можно найти в URL-адресе таблицы. Получить идентификатор листа можно с помощью метода spreadsheets.get
. Диапазоны указываются в формате A1 . Пример диапазона: Sheet1!A1:D5.
Добавить лист
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать AddSheetRequest
для добавления листа в электронную таблицу, а также задать заголовок, размер сетки и цвет вкладки.
Ответ состоит из AddSheetResponse
, который содержит объект со свойствами созданного листа (например, его SHEET_ID
).
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "addSheet": { "properties": { "title": "Deposits", "gridProperties": { "rowCount": 20, "columnCount": 12 }, "tabColor": { "red": 1.0, "green": 0.3, "blue": 0.4 } } } } ] }
Очистить лист от всех значений, сохранив форматы
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать UpdateCellsRequest
для удаления всех значений из листа, оставляя форматирование неизменным.
Указание поля userEnteredValue
без соответствующего значения интерпретируется как инструкция очистить значения в диапазоне. Этот параметр можно использовать и с другими полями. Например, изменение значения fields
на userEnteredFormat
удаляет всё форматирование, поддерживаемое API Таблиц, но оставляет значения ячеек неизменными.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}
Копировать лист из одной электронной таблицы в другую
В следующем примере кода spreadsheet.sheets.copyTo
показано, как скопировать один лист, указанный параметром SHEET_ID
, из одной электронной таблицы в другую электронную таблицу.
Переменная TARGET_SPREADSHEET_ID
в теле запроса указывает целевую электронную таблицу. Копия сохраняет все значения, форматирование, формулы и другие свойства оригинала. Заголовок скопированного листа — «Копия [заголовок исходного листа]».
Ответ состоит из объекта SheetProperties
, описывающего свойства созданного листа.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/sheets/SHEET_ID
:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID
"
}
Удалить лист
В следующем примере кода spreadsheets.batchUpdate
показано, как использовать DeleteSheetRequest
для удаления листа, указанного SHEET_ID
.
Протокол запроса показан ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}
Прочитать данные листа
В следующем примере кода spreadsheets.get
показано, как получить информацию о свойствах листа из электронной таблицы , заданной параметрами SHEET_ID
и SPREADSHEET_ID
. Этот метод часто используется для определения метаданных листов внутри конкретной электронной таблицы, поэтому к этим листам можно применять дополнительные операции. Параметр запроса fields
указывает, что должны быть возвращены только данные о свойствах листа (а не значения ячеек или данные, относящиеся ко всей электронной таблице).
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?&fields=sheets.properties
Ответ состоит из ресурса Spreadsheet
, содержащего объект Sheet
с элементами SheetProperties
. Если для поля ответа задано значение по умолчанию, оно исключается из ответа.
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID
,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}