API Google Sheets позволяет различными способами манипулировать данными в электронных таблицах. Большинство функций, доступных пользователям, работающим с пользовательским интерфейсом Sheets, также можно реализовать с помощью API Sheets. Примеры на этой странице иллюстрируют, как можно выполнить некоторые распространенные операции с электронными таблицами с помощью API Sheets.
Эти примеры представлены в виде HTTP-запросов, чтобы обеспечить языковую нейтральность. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел «Обновление электронных таблиц» .
В этих примерах заполнители SPREADSHEET_ID и SHEET_ID указывают, где следует указывать эти идентификаторы. Идентификатор электронной таблицы можно найти в URL-адресе электронной таблицы. Идентификатор листа можно получить, используя метод spreadsheets.get . Диапазоны указываются с использованием обозначения A1 . Пример диапазона: Sheet1!A1:D5.
Примените проверку данных к диапазону
Приведенный ниже пример кода spreadsheets.batchUpdate демонстрирует, как использовать SetDataValidationRequest для применения правила проверки данных, где "значение > 5", ко всем ячейкам в диапазоне A1:D10.
Протокол запроса представлен ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}Копирование и вставка форматирования ячеек
Приведенный ниже пример кода spreadsheets.batchUpdate демонстрирует, как использовать CopyPasteRequest для копирования форматирования только в диапазоне A1:D10 и вставки его в диапазон F1:I10 на том же листе. Метод использует перечисление PasteType с PASTE_FORMAT для вставки только форматирования и проверки данных. Исходные значения в диапазоне A1:D10 остаются неизменными.
Протокол запроса представлен ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"copyPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 5,
"endColumnIndex": 9
},
"pasteType": "PASTE_FORMAT",
"pasteOrientation": "NORMAL"
}
}
]
}Вырезать и вставить ячейки
Приведенный ниже пример кода spreadsheets.batchUpdate демонстрирует использование функции CutPasteRequest . Он вырезает диапазон A1:D10 и использует перечисление PasteType с PASTE_NORMAL для вставки его значений, формул, форматирования и слияния в диапазон F1:I10 на том же листе. Содержимое ячеек исходного диапазона удаляется.
Протокол запроса представлен ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"cutPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"rowIndex": 0,
"columnIndex": 5
},
"pasteType": "PASTE_NORMAL"
}
}
]
}Повторите формулу в заданном диапазоне.
Приведенный ниже пример кода spreadsheets.batchUpdate демонстрирует, как использовать RepeatCellRequest для копирования формулы =FLOOR(A1*PI()) в диапазон B1:D10. Диапазон формулы автоматически увеличивается для каждой строки и столбца в диапазоне, начиная с верхней левой ячейки. Например, ячейка B1 содержит формулу =FLOOR(A1*PI()) , а ячейка D6 — формулу =FLOOR(C6*PI()) .
Протокол запроса представлен ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}Сортировка диапазона с несколькими параметрами сортировки
Приведенный ниже пример кода spreadsheets.batchUpdate демонстрирует, как использовать SortRangeRequest для сортировки диапазона A1:D10 сначала по столбцу B в порядке возрастания, затем по столбцу C в порядке убывания, а затем по столбцу D в порядке убывания.
Протокол запроса представлен ниже.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}