Za pomocą interfejsu Google Sheets API możesz aktualizować formatowanie komórek i zakresów w arkuszach kalkulacyjnych. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Sheets API można wykonywać niektóre typowe operacje formatowania. Więcej przykładów formatowania warunkowego znajdziesz na stronie Przepisy na formatowanie warunkowe.
Podczas aktualizowania arkusza kalkulacyjnego niektóre rodzaje żądań mogą zwracać odpowiedzi.
Są one zwracane w tablicy, a każda odpowiedź zajmuje ten sam indeks co odpowiadające jej żądanie. Niektóre żądania nie mają odpowiedzi, a w takich przypadkach odpowiedź jest pusta. Strukturę odpowiedzi w tych przykładach znajdziesz w sekcji
spreadsheets.batchUpdate.
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 Google API, 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 adresie URL arkusza.
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.
Z powyższego filmu dowiesz się, jak formatować komórki arkusza kalkulacyjnego na różne sposoby, m.in. jak tworzyć zamrożone wiersze, pogrubiać komórki, stosować formatowanie walutowe, przeprowadzać weryfikację komórek i ograniczać wartości komórek.
Edytowanie obramowania komórek
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak za pomocą
UpdateBordersRequest
nadać każdej komórce w zakresie A1:F10 przerywane, niebieskie obramowanie górne i dolne. Pole innerHorizontal tworzy poziome obramowania wewnątrz zakresu.
Pominięcie tego pola spowoduje dodanie obramowań tylko u góry i u dołu całego zakresu.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"updateBorders": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 6
},
"top": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
"bottom": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
"innerHorizontal": {
"style": "DASHED",
"width": 1,
"color": {
"blue": 1.0
},
},
}
}
]
}Formatowanie wiersza nagłówka
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak za pomocą
RepeatCellRequest
sformatować wiersz nagłówka w arkuszu. Pierwsze żądanie aktualizuje kolor tekstu, kolor tła, rozmiar czcionki, wyrównanie tekstu i pogrubia tekst. Pominięcie indeksów kolumn w polu range spowoduje sformatowanie całego wiersza. Drugie żądanie dostosowuje właściwości arkusza tak, aby wiersz nagłówka był zamrożony.
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": 1 }, "cell": { "userEnteredFormat": { "backgroundColor": { "red": 0.0, "green": 0.0, "blue": 0.0 }, "horizontalAlignment" : "CENTER", "textFormat": { "foregroundColor": { "red": 1.0, "green": 1.0, "blue": 1.0 }, "fontSize": 12, "bold": true } } }, "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)" } }, { "updateSheetProperties": { "properties": { "sheetId": SHEET_ID, "gridProperties": { "frozenRowCount": 1 } }, "fields": "gridProperties.frozenRowCount" } } ] }
Scalanie komórek
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak za pomocą
MergeCellsRequest
scalić komórki. Pierwsze żądanie scala zakres A1:B2 w jedną komórkę. Drugie żądanie scala kolumny w zakresie A3:B6, pozostawiając wiersze oddzielone.
Protokół żądania jest pokazany poniżej.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
"requests": [
{
"mergeCells": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 0,
"endRowIndex": 2,
"startColumnIndex": 0,
"endColumnIndex": 2
},
"mergeType": "MERGE_ALL"
}
},
{
"mergeCells": {
"range": {
"sheetId": SHEET_ID,
"startRowIndex": 2,
"endRowIndex": 6,
"startColumnIndex": 0,
"endColumnIndex": 2
},
"mergeType": "MERGE_COLUMNS"
}
},
]
}Ustawianie niestandardowego formatu daty i godziny lub formatu dziesiętnego dla zakresu
Poniższy
spreadsheets.batchUpdate
przykładowy kod pokazuje, jak za pomocą
RepeatCellRequest
zaktualizować komórki, aby miały niestandardowe formaty daty i godziny oraz liczb. Pierwsze żądanie
nadaje komórkom w zakresie A1:A10 niestandardowy format daty i godziny hh:mm:ss am/pm,
ddd mmm dd yyyy. Przykładowa data i godzina w tym formacie to „02:05:07 PM, Sun Apr 03 2016”.
Drugie żądanie nadaje komórkom w zakresie B1:B10 niestandardowy format liczbowy #,##0.0000, który wskazuje, że liczby powinny być grupowane za pomocą separatorów przecinków, że po przecinku powinny znajdować się 4 cyfry oraz że wszystkie zera wiodące z wyjątkiem jednego powinny zostać usunięte. Na przykład liczba „3.14” jest renderowana jako „3.1400”, a „12345.12345” jako „12,345.1235”.
Więcej informacji znajdziesz w artykule Formaty daty i liczby formatów.
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": 0, "endColumnIndex": 1 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "DATE", "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy" } } }, "fields": "userEnteredFormat.numberFormat" } }, { "repeatCell": { "range": { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 1, "endColumnIndex": 2 }, "cell": { "userEnteredFormat": { "numberFormat": { "type": "NUMBER", "pattern": "#,##0.0000" } } }, "fields": "userEnteredFormat.numberFormat" } } ] }