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

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