API Google Sheets позволяет создавать, очищать, копировать и удалять листы, а также управлять их свойствами. Примеры на этой странице иллюстрируют, как можно выполнять некоторые распространенные операции с помощью API Google Sheets.
Эти примеры представлены в виде HTTP-запросов, чтобы обеспечить языковую нейтральность. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел «Обновление электронных таблиц» .
В этих примерах заполнители 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 Sheets, из листа, но оставляет значения ячеек неизменными.
Протокол запроса представлен ниже.
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
}
},
...
],
}