Базовое чтение

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

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

В этих примерах заполнитель SPREADSHEET_ID указывает, где следует указывать идентификатор электронной таблицы , который можно узнать из URL-адреса электронной таблицы. Диапазоны для чтения указываются с использованием обозначения A1 в URL-адресе запроса. Пример диапазона: Sheet1!A1:D5.

Исходные данные

В этих примерах предположим, что считываемая электронная таблица содержит следующие исходные данные на первом листе ("Sheet1"). Строки в первой строке — это метки для отдельных столбцов. Примеры чтения данных с других листов электронной таблицы см. в обозначении A1 .

А Б С Д
1 Элемент Расходы В наличии Дата отгрузки
2 Колесо 20,50 долларов 4 01.03.2016
3 Дверь 15 долларов 2 15.03.2016
4 Двигатель 100 долларов 1 20.03.2016
5 Итоговые суммы 135,5 долларов 7 20.03.2016

Прочитать один диапазон

Приведенный ниже пример кода spreadsheets.values.get показывает, как считать значения из диапазона Sheet1!A1:D5 и вернуть их в ответе. Пустые строки и столбцы в конце строки опущены.

Здесь представлен протокол запроса.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5

В ответе содержится объект ValueRange , описывающий диапазон значений. Поле majorDimension указывает, что массивы представляют собой списки значений, организованные по строкам.

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "30/20/2016"],
    ["Totals", "$135.5", "7", "3/20/2016"]
  ],
}

Прочитайте данные из одного диапазона, сгруппированные по столбцам.

Приведенный ниже пример кода spreadsheets.values.get показывает, как считать значения из диапазона Sheet1!A1:D3 и вернуть их в ответе, но сгруппированные по столбцам. Пустые строки и столбцы в конце строки опущены.

Здесь представлен протокол запроса.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D3?majorDimension=COLUMNS

В ответе содержится объект ValueRange , описывающий диапазон значений. Поле majorDimension указывает, что массивы представляют собой списки значений, организованные по столбцам.

{
  "range": "Sheet1!A1:D3",
  "majorDimension": "COLUMNS",
  "values": [
    ["Item", "Wheel", "Door"],
    ["Cost", "$20.50", "$15"],
    ["Stocked", "4", "2"],
    ["Ship Date", "3/1/2016", "3/15/2016"]
  ],
}

Считывание одного диапазона с параметрами отображения.

Приведенный ниже пример кода spreadsheets.values.get показывает, как считывать значения из диапазона Sheet1!A1:D5 и возвращать их в ответе, но использует параметры рендеринга для управления способом возврата этой информации. Параметр ValueRenderOption параметра FORMULA указывает, что вместо вычисленного значения должны возвращаться формулы, а параметр DateTimeRenderOption параметра SERIAL_NUMBER указывает, что даты должны возвращаться в виде чисел. Возможны и другие настройки. Пустые строки и столбцы в конце строки опускаются.

Здесь представлен протокол запроса.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?
            valueRenderOption=FORMULA&dateTimeRenderOption=SERIAL_NUMBER

В ответе содержится объект ValueRange , описывающий диапазон значений. Поле majorDimension указывает, что массивы представляют собой списки значений, организованные по строкам.

{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "42430"],
    ["Door", "$15", "2", "42444"],
    ["Engine", "$100", "1", "42449"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

Прочитать несколько диапазонов

Приведенный ниже пример кода spreadsheets.values.batchGet демонстрирует, как считывать значения из диапазонов Sheet1!B:B и Sheet1!D:D и возвращать их в ответе. Параметр ValueRenderOption со значением UNFORMATTED_VALUE указывает, что значения вычисляются, но не форматируются в ответе. Пустые строки и столбцы в конце ответа опускаются.

Здесь представлен протокол запроса.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

В ответ на этот вызов метода выводится объект с идентификатором электронной таблицы и массив объектов ValueRange , соответствующих каждому запрошенному диапазону, перечисленных в порядке их запроса. Поле majorDimension указывает, что массивы представляют собой списки значений, организованные по столбцам. Например:

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!B1:B1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Cost",20.5,15,100,135.5]
      ]
    },
    {
      "range": "Sheet1!D1:D1000",
      "majorDimension": "COLUMNS",
      "values": [
        ["Ship Date",42430,42444,42449,42449]
      ]s
    }
  ]
}

Считывайте данные из нескольких диапазонов на нескольких листах.

Приведенный ниже пример кода spreadsheets.values.batchGet демонстрирует, как считывать значения из диапазонов на листах Sheet1!A1:D5, Products!D1:D100 и Sales!E4:F6 и возвращать их в ответе. Параметр ValueRenderOption со значением UNFORMATTED_VALUE указывает, что значения вычисляются, но не форматируются в ответе. Пустые строки и столбцы в конце ответа опускаются.

Здесь представлен протокол запроса.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchGet?
            ranges=Sheet1!A1:D5&ranges=Products!D1:D100&ranges=Sales!E4:F6&valueRenderOption=UNFORMATTED_VALUE&majorDimension=COLUMNS

В ответ на этот вызов метода выводится объект с идентификатором электронной таблицы и массив объектов ValueRange , соответствующих каждому запрошенному диапазону, перечисленных в порядке их запроса. Поле majorDimension указывает, что массивы представляют собой списки значений, организованные по столбцам. Например:

{
  "spreadsheetId": SPREADSHEET_ID,
  "valueRanges": [
    {
      "range": "Sheet1!A1:D5",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    },
    {
      "range": "Products!D1:D100",
      "majorDimension": "COLUMNS",
      "values": [
        [...]
      ]
    },
    {
      "range": "Sales!E4:F6",
      "majorDimension": "COLUMNS",
      "values": [
        [...],
        [...]
      ]
    }
  ]
}