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 z przepisami na formatowanie warunkowe.
Podczas aktualizowania arkusza kalkulacyjnego niektóre rodzaje żądań mogą zwracać odpowiedzi.
Są one zwracane w postaci tablicy, a każda odpowiedź zajmuje ten sam indeks co odpowiednie żą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 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 w 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. tworzyć zamrożone wiersze, pogrubiać komórki, stosować formatowanie waluty, przeprowadzać weryfikację komórek i ograniczać wartości komórek.
Edytowanie krawędzi komórek
Poniższy przykładowy kodspreadsheets.batchUpdate
pokazuje, jak za pomocą metodyUpdateBordersRequest
nadać każdej komórce w zakresie A1:F10 przerywaną, niebieską górną i dolną krawędź. Pole innerHorizontal
tworzy obramowania poziome wewnątrz zakresu.
Pominięcie tego pola spowoduje dodanie obramowań tylko u góry i u dołu całego zakresu.
Protokół żądania jest widoczny 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 przykładowy kodspreadsheets.batchUpdate
pokazuje, jak za pomocąRepeatCellRequest
sformatować wiersz nagłówka w arkuszu. Pierwsze żądanie aktualizuje kolor tekstu, kolor tła, rozmiar czcionki tekstu i wyrównanie tekstu oraz pogrubia tekst. Pominięcie indeksów kolumn w polu range
powoduje sformatowanie całego wiersza. Drugie żądanie dostosowuje właściwości arkusza, tak aby wiersz nagłówka był zamrożony.
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": 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" } } ] }
Scal komórki
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak używać metody MergeCellsRequest
do scalania komórek. Pierwsze żądanie łączy zakres A1:B2 w jedną komórkę. Druga prośba łączy kolumny w zakresie A3:B6, ale pozostawia wiersze rozdzielone.
Protokół żądania jest widoczny 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 liczby dziesiętnej dla zakresu
Poniższy przykładowy kodspreadsheets.batchUpdate
pokazuje, jak używaćRepeatCellRequest
do aktualizowania komórek, 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: „02:05:07 PM, Sun Apr
03 2016”.
Druga prośba nadaje komórkom w zakresie B1:B10 niestandardowy format liczbowy #,##0.0000
, który oznacza, że liczby powinny być grupowane z użyciem przecinków jako separatorów, że po przecinku powinny występować 4 cyfry i ż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 liczba „12345,12345” jako „12 345,1235”.
Więcej informacji znajdziesz w artykule Formaty dat i liczb.
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": 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" } } ] }