Interfejs Google Sheets API umożliwia manipulowanie danymi w arkuszach kalkulacyjnych na różne sposoby. Większość funkcji dostępnych dla użytkowników pracujących w interfejsie Arkuszy jest też dostępna w interfejsie Arkuszy. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Arkuszy Google API wykonywać niektóre typowe operacje na arkuszach kalkulacyjnych.
Przykłady te są przedstawione w formie żą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 interfejsu API Google, przeczytaj artykuł Aktualizowanie arkuszy kalkulacyjnych.
W tych przykładach symbole zastępcze SPREADSHEET_ID
i SHEET_ID
wskazują miejsca, w których należy podać te identyfikatory. Identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza. Identyfikator arkusza możesz uzyskać za pomocą metody spreadsheets.get
. Zakresy są określone za pomocą notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Stosowanie sprawdzania poprawności danych do zakresu
Poniższy przykładowy kodspreadsheets.batchUpdate
pokazuje, jak za pomocąSetDataValidationRequest
zastosować regułę weryfikacji danych „wartość > 5” do każdej komórki w zakresie A1:D10.
Protokół żądania jest widoczny 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órki
Poniższy przykładowy kod
spreadsheets.batchUpdate
pokazuje, jak użyć
CopyPasteRequest
do skopiowania formatowania tylko w zakresie A1:D10 i wklejenia go do zakresu F1:I10
w tym samym arkuszu. Metoda używa wyliczenia PasteType
z wartością PASTE_FORMAT
, aby wkleić tylko formatowanie i reguły sprawdzania poprawności danych. Oryginalne wartości w komórkach A1:D10 pozostają bez zmian.
Protokół żądania jest widoczny 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" } } ] }
Wytnij i wklej komórki
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać CutPasteRequest
.
Wycina zakres A1:D10 i używa wyliczenia PasteType
z wartością PASTE_NORMAL
, aby wkleić wartości, formuły, formatowanie i scalenia do zakresu F1:I10 w tym samym arkuszu. Zawartość komórek pierwotnego zakresu źródłowego zostanie usunięta.
Protokół żądania jest widoczny 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 przykładowy kod spreadsheets.batchUpdate
pokazuje, jak użyć metody RepeatCellRequest
do skopiowania formuły =FLOOR(A1*PI())
do zakresu B1:D10. Zakres formuły automatycznie zwiększa się 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 zawiera formułę =FLOOR(C6*PI())
.
Protokół żądania jest widoczny 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 wieloma specyfikacjami sortowania
Poniższy przykładowy kodspreadsheets.batchUpdate
pokazuje, jak za pomocą funkcjiSortRangeRequest
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 widoczny 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"
}
]
}
}
]
}