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
}
},
...
],
}