Interfejs API Arkuszy Google pozwala tworzyć, czyścić, kopiować i usuwać arkusze, a także kontrolować ich właściwości. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Arkuszys API można wykonywać niektóre typowe operacje w Arkuszach.
Przykłady te mają postać żądań HTTP, które nie wpływają na język. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj artykuł o aktualizowaniu arkuszy kalkulacyjnych.
W tych przykładach obiekty zastępcze SPREADSHEET_ID
i SHEET_ID
wskazują, gdzie należy podać te identyfikatory. Ten identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza kalkulacyjnego. Identyfikator arkusza możesz uzyskać za pomocą metody spreadsheets.get
. Zakresy określa się w notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Dodaj arkusz
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak za pomocą kodu AddSheetRequest
dodać arkusz do arkusza kalkulacyjnego, a także ustawić tytuł, rozmiar siatki i kolor karty.
Odpowiedź składa się z obiektu AddSheetResponse
, który zawiera obiekt z właściwościami utworzonego arkusza (np. SHEET_ID
).
Protokół żądania jest widoczny poniżej.
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 } } } } ] }
Wyczyść arkusz ze wszystkimi wartościami, zachowując formaty
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak użyć UpdateCellsRequest
do usunięcia wszystkich wartości z arkusza bez zmiany formatowania.
Wskazanie pola userEnteredValue
bez odpowiadającej mu wartości jest interpretowane jako instrukcja czyszczenia wartości z zakresu. Tego ustawienia możesz też używać w przypadku innych pól. Na przykład zmiana wartości fields
na userEnteredFormat
powoduje usunięcie z arkusza całego formatowania obsługiwanego przez interfejs Arkuszy, ale wartości w komórkach pozostają niezmienione.
Protokół żądania jest widoczny poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}
Kopiowanie arkusza z jednego arkusza kalkulacyjnego do innego
Poniższy przykładowy kod spreadsheet.sheets.copyTo
pokazuje, jak skopiować pojedynczy arkusz określony przez SHEET_ID
z jednego arkusza kalkulacyjnego do innego.
Zmienna TARGET_SPREADSHEET_ID
w treści żądania określa docelowy arkusz kalkulacyjny. Kopia zachowuje wszystkie wartości, formatowanie, formuły i inne właściwości oryginału. Tytuł skopiowanego arkusza to „Kopia [tytuł oryginalnego arkusza]”.
Odpowiedź składa się z obiektu SheetProperties
opisującego właściwości utworzonego arkusza.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
/sheets/SHEET_ID
:copyTo
{
"destinationSpreadsheetId": "TARGET_SPREADSHEET_ID
"
}
Usuwanie arkusza
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak użyć DeleteSheetRequest
do usunięcia arkusza wskazanego przez SHEET_ID
.
Protokół żądania jest widoczny poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}
Odczytywanie danych arkusza
Poniższy przykładowy kod spreadsheets.get
pokazuje, jak uzyskać informacje o właściwości sheet z arkusza kalkulacyjnego, które określa się za pomocą parametrów SHEET_ID
i SPREADSHEET_ID
. Ta metoda jest często używana do określania metadanych arkuszy w obrębie konkretnego arkusza kalkulacyjnego, aby można było kierować na nie dodatkowe operacje. Parametr zapytania fields
określa, jakie powinny zostać zwrócone dane właściwości arkusza (a nie dane komórek lub dane związane z całym arkuszem kalkulacyjnym).
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
?&fields=sheets.properties
Odpowiedź składa się z zasobu Spreadsheet
, który zawiera obiekt Sheet
z elementami SheetProperties
. Jeśli dane pole odpowiedzi ma wartość domyślną, jest ono pomijane.
{
"sheets": [
{
"properties": {
"sheetId": SHEET_ID
,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 100,
"columnCount": 20,
"frozenRowCount": 1
}
"tabColor": {
"blue": 1.0
}
},
...
],
}