Czytanie podstawowe

Interfejs Google Sheets API umożliwia odczytywanie wartości z komórek, zakresów, zbiorów zakresów i całych arkuszy. Przykłady na tej stronie ilustrują niektóre typowe operacje odczytu w przypadku zasobu spreadsheets.values. Wartości komórek możesz też odczytać za pomocą metody spreadsheets.get, ale zwykle łatwiej jest użyć spreadsheets.values.get lub spreadsheets.values.batchGet.

Przykłady te są przedstawione w formie żądań HTTP, aby były niezależne od języka. Aby dowiedzieć się, jak implementować odczyty w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj artykuł Odczytywanie i zapisywanie wartości komórek.

W tych przykładach zmienna SPREADSHEET_ID wskazuje miejsce, w którym należy podać identyfikator arkusza kalkulacyjnego, który można znaleźć w adresie URL arkusza. Zakresy do odczytu są określane za pomocą notacji A1 w adresie URL żądania. Przykładowy zakres to Arkusz1!A1:D5.

Dane źródłowe

W tych przykładach załóżmy, że odczytywany arkusz zawiera w pierwszym arkuszu („Arkusz1”) te dane źródłowe: Ciągi znaków w pierwszym wierszu są etykietami poszczególnych kolumn. Przykłady odczytywania danych z innych arkuszy w arkuszu kalkulacyjnym znajdziesz w artykule Notacja A1.

A B C D
1 Element Koszt W magazynie Data wysyłki
2 Diabelski młyn 20,50 USD 4 01.03.2016
3 Drzwi 15 HKD 2 15.03.2016 r.
4 Silnik 100 zł 1 20.03.2016 r.
5 Sumy 135,5 USD 7 20.03.2016 r.

Odczytywanie pojedynczego zakresu

Poniższy przykładowy kodspreadsheets.values.get pokazuje, jak odczytać wartości z zakresu Arkusz1!A1:D5 i zwrócić je w odpowiedzi. Puste wiersze i kolumny na końcu są pomijane.

Protokół żądania jest widoczny tutaj.

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

Odpowiedź składa się z obiektu ValueRange, który opisuje wartości zakresu. Pole majorDimension wskazuje, że tablice są listami wartości uporządkowanymi według wierszy.

{
  "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"]
  ],
}

Odczytywanie pojedynczego zakresu pogrupowanego według kolumny

Poniższy przykładowy kodspreadsheets.values.get pokazuje, jak odczytać wartości z zakresu Arkusz1!A1:D3 i zwrócić je w odpowiedzi, ale pogrupowane według kolumn. Puste wiersze i kolumny na końcu są pomijane.

Protokół żądania jest widoczny tutaj.

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

Odpowiedź składa się z obiektu ValueRange, który opisuje wartości zakresu. Pole majorDimension oznacza, że tablice są listami wartości uporządkowanymi według kolumn.

{
  "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"]
  ],
}

Odczytywanie pojedynczego zakresu z opcjami renderowania

Poniższy przykład koduspreadsheets.values.get pokazuje, jak odczytać wartości z zakresu Arkusz1!A1:D5 i zwrócić je w odpowiedzi, ale używa opcji renderowania, aby zarządzać sposobem zwracania tych informacji. Ustawienie ValueRenderOption w FORMULA oznacza, że zamiast obliczonej wartości mają być zwracane formuły, a ustawienie DateTimeRenderOption w SERIAL_NUMBER oznacza, że daty mają być zwracane jako liczby. Możliwe są też inne ustawienia. Puste wiersze i kolumny na końcu są pomijane.

Protokół żądania jest widoczny tutaj.

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

Odpowiedź składa się z obiektu ValueRange, który opisuje wartości zakresu. Pole majorDimension wskazuje, że tablice są listami wartości uporządkowanymi według wierszy.

{
  "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)"]
  ],
}

Odczytywanie wielu zakresów

Poniższy przykładowy kod spreadsheets.values.batchGet pokazuje, jak odczytać wartości z zakresów Sheet1!B:B i Sheet1!D:D i zwrócić je w odpowiedzi. Ustawienie ValueRenderOptionUNFORMATTED_VALUE oznacza, że wartości są obliczane, ale nie są formatowane w odpowiedzi. Puste wiersze i kolumny na końcu są pomijane.

Protokół żądania jest widoczny tutaj.

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

Odpowiedź na to wywołanie metody składa się z obiektu z identyfikatorem arkusza kalkulacyjnego i tablicy obiektów ValueRange odpowiadających każdemu żądanemu zakresowi, wymienionych w kolejności, w jakiej zostały zgłoszone. Pole majorDimension oznacza, że tablice są listami wartości uporządkowanymi według kolumn. Na przykład:

{
  "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
    }
  ]
}

Odczytywanie wielu zakresów w wielu arkuszach

Poniższy przykładowy kod spreadsheets.values.batchGet pokazuje, jak odczytać wartości z zakresów w arkuszach Arkusz1!A1:D5, Produkty!D1:D100 i Sprzedaż!E4:F6 i zwrócić je w odpowiedzi. Ustawienie ValueRenderOptionUNFORMATTED_VALUE oznacza, że wartości są obliczane, ale nie są formatowane w odpowiedzi. Puste wiersze i kolumny na końcu są pomijane.

Protokół żądania jest widoczny tutaj.

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

Odpowiedź na to wywołanie metody składa się z obiektu z identyfikatorem arkusza kalkulacyjnego i tablicy obiektów ValueRange odpowiadających każdemu żądanemu zakresowi, wymienionych w kolejności, w jakiej zostały zgłoszone. Pole majorDimension oznacza, że tablice są listami wartości uporządkowanymi według kolumn. Na przykład:

{
  "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": [
        [...],
        [...]
      ]
    }
  ]
}