Arkusze mogą zawierać wiele arkuszy, z których każdy może mieć dowolną liczbę wierszy
lub kolumny. Komórka to lokalizacja
określonego wiersza i kolumny, może zawierać wartość danych.
Interfejs API Arkuszy Google udostępnia funkcje
spreadsheets.values
, który umożliwia odczytywanie i zapisywanie wartości.
Na tej stronie znajdziesz podstawowe informacje na temat korzystania z zasobu spreadsheets.values
. Jeśli
musisz wstawić wiersze lub zaktualizować formatowanie i inne właściwości
, musisz użyć
spreadsheets.batchUpdate
opisana w artykule Aktualizowanie arkuszy kalkulacyjnych.
Metody
Zasób spreadsheets.values
udostępnia następujące metody odczytywania i zapisywania wartości, każdą dla
konkretne zadanie:
Dostęp do zakresu | Czytanie | Pisanie |
---|---|---|
Jeden zakres | spreadsheets.values.get |
spreadsheets.values.update |
Wiele zakresów | spreadsheets.values.batchGet |
spreadsheets.values.batchUpdate |
Dołączam | spreadsheets.values.append |
Ogólnie warto połączyć wiele odczytów lub aktualizacji z
batchGet
i batchUpdate
(odpowiednio), w miarę poprawy jakości
efektywność.
Przykłady każdej z tych metod znajdziesz w podstawowej odczytywanie i podstawowe tworzenia przykładowych stron. Aby zobaczyć wszystkie przykłady, zapoznaj się z artykułem otwórz stronę z omówieniem przykładów.
Odczyt
Aby odczytać wartości danych z arkusza, potrzebujesz identyfikatora arkusza i A1.
dla zakresu. Określanie zakresu bez identyfikatora arkusza (A1:B2
)
oznacza, że żądanie jest wykonywane na pierwszym arkuszu w arkuszu kalkulacyjnym. Więcej
informacje o identyfikatorach arkuszy kalkulacyjnych i w notacji A1 znajdziesz w artykule Interfejs API Arkuszy Google
Przegląd.
Jest kilka opcjonalnych parametrów zapytania, które określają format wyników:
Parametr formatu | Wartość domyślna |
---|---|
majorDimension |
ILE.WIERSZY |
valueRenderOption |
FORMATTED_VALUE |
dateTimeRenderOption |
SERIAL_NUMBER |
Pamiętaj, że parametru dateTimeRenderOption
należy używać tylko wtedy, gdy pole valueRenderOption
nie jest FORMATTED_VALUE
.
Nie ma wyraźnego limitu zwracanych danych. Błędy nie zwracają żadnych danych. Puste końcowe wiersze i kolumny są pomijane.
Metody pobierania pojedynczej i grupowej zostały opisane poniżej. W przypadku próbek podstawowych operacji odczytu znajdziesz w sekcji Podstawowe informacje na temat odczytywania.
Odczytaj pojedynczy zakres
Aby odczytać pojedynczy zakres wartości z arkusza kalkulacyjnego, użyj funkcji
spreadsheets.values.get
żądanie:
Google Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Odpowiedź na to żądanie jest zwracana jako
ValueRange
obiektu.
Odczytuj wiele zakresów
Aby odczytać wiele nieciągłych zakresów wartości z arkusza kalkulacyjnego, użyj funkcji
spreadsheets.values.batchGet
które pozwala określić kilka zakresów do pobrania:
Google Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Odpowiedź na to żądanie jest zwracana jako
BatchGetValuesResponse
obiekt zawierający spreadsheetId
i listę
ValueRange
obiektów.
Napisz
Aby zapisać coś w arkuszu, potrzebujesz identyfikatora arkusza kalkulacyjnego, czyli zakresu komórek w komórce A1. oraz dane, które chcesz zapisać w odpowiedniej treści żądania obiektu. Więcej informacji o identyfikatorach arkuszy kalkulacyjnych i w notacji A1 znajdziesz w sekcji Omówienie interfejsu API Arkuszy Google
Aktualizacje wymagają ważnego
ValueInputOption
.
W przypadku pojedynczych aktualizacji jest to wymagany parametr zapytania. W przypadku aktualizacji zbiorczych
ten parametr jest wymagany w treści żądania. Elementy sterujące ValueInputOption
jak należy interpretować dane wejściowe i czy ciągi wejściowe są analizowane
nie zgodnie z opisem w tej tabeli:
ValueInputOption |
Opis |
---|---|
RAW |
Dane wejściowe nie są przeanalizowane i zostały wstawione jako ciąg znaków. Na przykład: „=1+2” umieszcza ciąg znaków, a nie formułę, „=1+2” . Wartości niebędące ciągami, takie jak wartości logiczne czy liczby, są zawsze obsługiwane jako RAW . |
USER_ENTERED |
Dane wejściowe są analizowane dokładnie tak, jakby zostały wprowadzone w interfejsie Arkuszy. Na przykład „1 marca 2016 r.” staje się datą, a „=1+2” staje się formułą. Można też wywnioskować formaty, więc „100,15 PLN” stanie się liczbą z formatowaniem waluty. |
Poniżej opisujemy jednorazowe i zbiorcze metody aktualizacji. W przypadku próbek podstawowych operacji zapisu znajdziesz w sekcji Podstawowe pisanie.
Zapisz w jednym zakresie
Aby zapisać dane w jednym zakresie, użyj funkcji
spreadsheets.values.update
żądanie:
Google Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Treść żądania aktualizacji musi być
ValueRange
, jednak jedynym wymaganym polem jest values
. Jeśli określono range
,
musi pasować do zakresu w URL-u. W ValueRange
możesz opcjonalnie określić
jej
majorDimension
Domyślnie używana jest ROWS
. Jeśli określono COLUMNS
, każda tablica wewnętrzna jest
w kolumnie, a nie w wierszu.
Podczas aktualizowania wartości bez danych są pomijane. Aby wyczyścić dane, użyj pustego pola ciąg znaków („”).
Zapisz wiele zakresów
Jeśli chcesz zapisać wiele nieciągłych zakresów, możesz użyć funkcji
spreadsheets.values.batchUpdate
żądanie:
Google Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Treść żądania aktualizacji zbiorczej musi być
BatchUpdateValuesRequest
który zawiera ValueInputOption
i listę
ValueRange
obiekty (po jednym na każdy zapisany zakres). Każdy obiekt ValueRange
określa własny
range
, majorDimension
oraz dane wejściowe.
Dołącz wartości
Aby dołączyć dane po tabeli danych w arkuszu, użyj funkcji
spreadsheets.values.append
żądanie:
Google Apps Script
Java
JavaScript
Node.js
PHP
Python
Ruby
Treść żądania aktualizacji musi być
ValueRange
, jednak jedynym wymaganym polem jest values
. Jeśli określono range
,
musi pasować do zakresu w adresie URL. W ValueRange
możesz opcjonalnie określić
jej
majorDimension
Domyślnie używana jest ROWS
. Jeśli określono COLUMNS
, każda tablica wewnętrzna jest
w kolumnie, a nie w wierszu.
Zakres wejściowy służy do wyszukiwania istniejących danych i znajdowania „tabeli” w ciągu
tego zakresu. Wartości są dodawane do następnego wiersza tabeli, zaczynając od
pierwszej kolumny tabeli. Weźmy na przykład Sheet1
, który wygląda tak:
A | B | C | D | E | |
1 | x | y | Z | ||
2 | x | y | Z | ||
3 | |||||
4 | x | y | |||
5 | y | Z | |||
6 | x | y | Z | ||
7 |
W arkuszu są 2 tabele: A1:C2
i B4:D6
. Dołączone wartości
zaczynają się od B7
dla wszystkich następujących danych wejściowych range
:
Sheet1
, ponieważ analizuje wszystkie dane w arkuszu i określa że tabela pod adresemB4:D6
jest ostatnią tabelą.B4
lubC5:D5
, bo oba są w tabeliB4:D6
.B2:D4
, ponieważ ostatnia tabela w zakresie toB4:D6
(mimo że zawiera on też tabelęA1:C2
).A3:G10
, ponieważ ostatnia tabela w zakresie toB4:D6
(mimo że zaczyna się przed nim i kończy po nim).
W przypadku tych danych wejściowych range
nie można było zapisać danych od B7
:
- Funkcja
A1
zaczęłaby pisać oA3
, bo jest ona w tabeliA1:C2
. - Funkcja
E4
mogłaby zacząć zapisywać dane oE4
, ponieważ nie ma go w żadnej tabeli. (z tych samych powodów funkcjaA4
również zaczęła pisać oA4
).
Ponadto możesz zdecydować, czy chcesz zastąpić istniejące dane po
tabeli lub wstaw nowe wiersze dla nowych danych. Domyślnie dane wejściowe zastępują dane
za tabelą. Aby zapisać nowe dane w nowych wierszach, użyj
InsertDataOption
i określ insertDataOption=INSERT_ROWS
.
Więcej informacji o limitach komórek i wierszy w Arkuszach znajdziesz w artykule Pliki, które możesz przechowywać na Dysku Google