Podstawowe formatowanie

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_IDSHEET_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.

Tabela 3 x 3, w której każda komórka ma przerywaną niebieską ramkę u góry i u dołu.
Rysunek 1. Formatowanie każdej komórki za pomocą przerywanej niebieskiej ramki górnej i dolnej na arkuszu.

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.

Tabela 3 x 3 z ukształtowanym wierszem nagłówka w arkuszu.
Rysunek 2. Sformatuj wiersz nagłówka w arkuszu.

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.

Tabela 3 x 3 ze scalonymi komórkami na arkuszu.
Rysunek 3. scalić komórki w arkuszu.

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.

Tabela 3 x 3 z niestandardowymi formatami daty i godziny oraz liczb na arkuszu.
Rysunek 4. zaktualizować komórki, aby miały niestandardowe formaty daty i godziny oraz liczb w arkuszu;

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"
      }
    }
  ]
}