Interfejs Google Sheets API umożliwia manipulowanie danymi w arkuszach kalkulacyjnych na różne sposoby. Większość funkcji dostępnych dla użytkowników korzystających z interfejsu Arkuszy jest też dostępna w interfejsie Sheets API. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Sheets API można wykonywać niektóre typowe operacje na arkuszach kalkulacyjnych.
Przykłady te są przedstawione w postaci żądań HTTP, aby były niezależne od języka. Aby dowiedzieć się, jak zaimplementować aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsów API Google, przeczytaj artykuł Aktualizowanie arkuszy kalkulacyjnych.
W tych przykładach symbole zastępcze SPREADSHEET_ID i SHEET_ID
wskazują, gdzie należy podać te identyfikatory. Identyfikator arkusza kalkulacyjnego
znajdziesz w jego adresie URL. Identyfikator arkusza możesz uzyskać za pomocą
spreadsheets.get metody. Zakresy są określane za pomocą notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Stosowanie sprawdzania poprawności danych w zakresie
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak użyć
SetDataValidationRequest
, aby zastosować regułę sprawdzania poprawności danych „wartość > 5” do każdej komórki w zakresie A1:D10.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}Kopiowanie i wklejanie formatowania komórek
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak użyć
CopyPasteRequest
, aby skopiować tylko formatowanie z zakresu A1:D10 i wkleić je do zakresu F1:I10
w tym samym arkuszu. Metoda używa wyliczenia
PasteTypez PASTE_FORMAT aby wkleić formatowanie z wyłączeniem sprawdzania poprawności danych. Oryginalne wartości w zakresie A1:D10 pozostają bez zmian.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"copyPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 5,
"endColumnIndex": 9
},
"pasteType": "PASTE_FORMAT",
"pasteOrientation": "NORMAL"
}
}
]
}Wycinać i wklejać komórki
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak użyć
CutPasteRequest.
Wycina on zakres A1:D10 i używa
PasteType wyliczenia
z PASTE_NORMAL aby wkleić jego wartości, formuły, formatowanie i scalenia do
zakresu F1:I10 w tym samym arkuszu. Oryginalna zawartość komórek w zakresie źródłowym zostaje usunięta.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"cutPaste": {
"source": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"destination": {
"sheetId": SHEET_ID,
"rowIndex": 0,
"columnIndex": 5
},
"pasteType": "PASTE_NORMAL"
}
}
]
}Powtarzanie formuły w zakresie
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak użyć
RepeatCellRequest
, aby skopiować formułę =FLOOR(A1*PI()) do zakresu B1:D10. Zakres formuły jest automatycznie zwiększany w przypadku każdego wiersza i kolumny w zakresie, zaczynając od lewej górnej komórki. Na przykład komórka B1 zawiera formułę =FLOOR(A1*PI()), a komórka D6 – formułę =FLOOR(C6*PI()).
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}Sortowanie zakresu z kilkoma specyfikacjami sortowania
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak użyć
SortRangeRequest
, aby posortować zakres A1:D10 najpierw według kolumny B w kolejności rosnącej, potem według kolumny C
w kolejności malejącej, a następnie według kolumny D w kolejności malejącej.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}