Листовые операции

API Google Таблиц позволяет создавать, очищать, копировать и удалять листы, а также управлять их свойствами. Примеры на этой странице иллюстрируют, как можно выполнить некоторые распространенные операции с Таблицами с помощью Sheets API.

Эти примеры представлены в виде HTTP-запросов, которые не зависят от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел Обновление электронных таблиц .

В этих примерах заполнители SPREADSHEET_ID и SHEET_ID указывают, где вы будете предоставлять эти идентификаторы. Идентификатор таблицы можно найти в URL-адресе таблицы. Вы можете получить идентификатор листа , используя метод spreadsheets.get . Диапазоны указаны с использованием обозначения A1 . Пример диапазона: Лист1!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
        }
      },
      ...
  ],
}