Interfejs API Arkuszy Google umożliwia aktualizowanie formatowania komórek i zakresów w arkuszach kalkulacyjnych. Przykłady na tej stronie pokazują, jak za pomocą interfejsu Arkuszy API można wykonywać niektóre typowe operacje formatowania. Więcej przykładów formatowania warunkowego znajdziesz na stronie z przepisami na temat formatowania warunkowego.
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 odpowiednie żądanie. Niektóre żądania nie mają odpowiedzi, a w przypadku tych odpowiedzi jest pusta. Strukturę odpowiedzi w przypadku tych przykładów znajdziesz tutaj: spreadsheets.batchUpdate
.
Przykłady te mają postać żądań HTTP, które nie wpływają na język. Aby dowiedzieć się, jak wdrożyć aktualizację zbiorczą w różnych językach za pomocą bibliotek klienta interfejsu API Google, przeczytaj artykuł o aktualizowaniu arkuszy kalkulacyjnych.
W tych przykładach obiekty zastępcze SPREADSHEET_ID i SHEET_ID wskazują, gdzie należy podać te identyfikatory. Ten identyfikator arkusza kalkulacyjnego znajdziesz w adresie URL arkusza kalkulacyjnego. Identyfikator arkusza możesz uzyskać za pomocą metody spreadsheets.get
. Zakresy określa się w notacji A1. Przykładowy zakres to Arkusz1!A1:D5.
Powyższy film pokazuje, jak formatować komórki arkusza kalkulacyjnego na różne sposoby, w tym przez tworzenie zablokowanych wierszy, pogrubianie komórek, implementowanie formatowania walut, sprawdzanie poprawności komórek i ograniczanie wartości w komórkach.
Edytuj obramowanie komórek
Ten przykładowy kod spreadsheets.batchUpdate
pokazuje, jak za pomocą UpdateBordersRequest
nadać każdej komórce z zakresu A1:F10 przerywane, niebieskie obramowanie górne i dolne. Pole innerHorizontal
tworzy poziome obramowanie wewnątrz zakresu.
Pominięcie tego pola spowodowałoby dodanie obramowań tylko na górze i na dole 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
Z przykładowego kodu spreadsheets.batchUpdate
dowiesz się, jak sformatować wiersz nagłówka w arkuszu za pomocą RepeatCellRequest
. Pierwsze żądanie aktualizuje kolor tekstu, kolor tła, rozmiar czcionki tekstu i wyrównanie tekstu, a także powoduje pogrubienie tekstu. Pominięcie indeksów kolumn w polu range
powoduje formatowanie całego wiersza. Drugie żądanie dostosowuje właściwości arkusza tak, aby wiersz nagłówka został zablokowany.
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
Z przykładowego kodu spreadsheets.batchUpdate
dowiesz się, jak za pomocą MergeCellsRequest
scalać komórki. Pierwsze żądanie scala zakres A1:B2 w jedną komórkę. Drugie żądanie scala kolumny z wymiarów A3:B6, pozostawiając je 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 dziesiętnego zakresu
Z przykładowego kodu spreadsheets.batchUpdate
dowiesz się, jak za pomocą RepeatCellRequest
zaktualizować komórki tak, aby miały niestandardowe formaty daty i liczby. Pierwsze żądanie nadaje komórkom z zakresu 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, Nd Apr
03 2016”.
W drugim żądaniu komórki w B1:B10 mają niestandardowy format liczb #,##0.0000
, co oznacza, że liczby należy zgrupować za pomocą separatorów przecinków, po separatorze dziesiętnym powinny być 4 cyfry i że należy usunąć wszystkie zero na początku. Na przykład liczba „3.14” jest renderowana jako „3.1400”, a „12345.12345” jako „12 345.1235”.
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" } } ] }