Formatowanie komórek i zakresów w arkuszach możesz zaktualizować za pomocą interfejsu Google Sheets API. Przykłady na tej stronie pokazują, jak można wykonywać niektóre typowe operacje formatowania za pomocą interfejsu Sheets API. Więcej przykładów formatowania warunkowego znajdziesz na stronie reguły 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, więc odpowiedź jest pusta. Strukturę odpowiedzi w przypadku tych przykładów znajdziesz w sekcji spreadsheets.batchUpdate
.
Przykłady te są przedstawione w formie żądań HTTP, aby były neutralne pod względem językowym. Aby dowiedzieć się, jak za pomocą bibliotek klienta interfejsu API Google wdrożyć zbiorcze aktualizowanie w różnych językach, przeczytaj artykuł Aktualizowanie arkuszy kalkulacyjnych.
W tych przykładach obiekty 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ć, korzystając z metody spreadsheets.get
. Zakresy są określone 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. tworzyć zablokowane wiersze, wyróżniać komórki, stosować formatowanie waluty, przeprowadzać sprawdzanie komórek i ograniczać wartości komórek.
Edytowanie obramowania komórki
Poniższy przykładowy kod spreadsheets.batchUpdate
pokazuje, jak za pomocą funkcji UpdateBordersRequest
nadać każdej komórce w zakresie A1:F10 przerywany niebieski górny i dolny margines. Pole innerHorizontal
tworzy obramowania poziome wewnątrz zakresu.
Pominięcie tego pola spowoduje dodanie obramowania tylko do górnej i dolnej krawędzi całego zakresu.
Protokół żądania przedstawiono 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 kod spreadsheets.batchUpdate
pokazuje, jak za pomocą funkcji RepeatCellRequest
sformatować wiersz nagłówka w arkuszu. Pierwsze żądanie aktualizuje kolor tekstu, kolor tła, rozmiar czcionki tekstu oraz wyrównanie tekstu, a także powoduje jego pogrubienie. Pominięcie indeksów kolumn w polu range
powoduje sformatowanie całego wiersza. Drugie żądanie dostosowuje właściwości arkusza, aby wiersz nagłówka był zablokowany.
Protokół żądania przedstawiono 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 za pomocą funkcji MergeCellsRequest
scalić komórki. Pierwsze żądanie scala zakres A1:B2 w jedną komórkę. Druga prośba scala kolumny w komórkach A3:B6, ale pozostawia wiersze rozdzielone.
Protokół żądania przedstawiono 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 dziesiętnego dla zakresu
Ten przykładowy kod spreadsheets.batchUpdate
pokazuje, jak za pomocą funkcji RepeatCellRequest
zaktualizować komórki, aby miały niestandardowe formaty daty i godziny oraz liczb. Pierwsze żądanie nadaje komórkom w zakresie A1:A1 niestandardowy format daty i godziny hh:mm:ss am/pm,
ddd mmm dd yyyy
. Przykładowy format daty i godziny: „02:05:07 PM, Sun Apr
03 2016”.
Druga prośba nadaje komórkom B1:B10 niestandardowy format liczby #,##0.0000
, który wskazuje, że liczby powinny być grupowane za pomocą przecinków, że po przecinku powinny być 4 cyfry, a wszystkie zera na początku powinny zostać pominięte. Na przykład liczba „3,14” jest wyświetlana jako „3,1400”, a „12345,12345” jako „12 345,1235”.
Więcej informacji znajdziesz w artykule Formaty dat i liczb.
Protokół żądania przedstawiono 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" } } ] }