Pemformatan dasar

Google Sheets API memungkinkan Anda memperbarui format sel dan rentang dalam spreadsheet. Contoh di halaman ini menggambarkan bagaimana beberapa operasi pemformatan umum dapat dilakukan dengan Sheets API. Anda dapat menemukan contoh format bersyarat lainnya di halaman resep Format bersyarat.

Saat memperbarui {i>spreadsheet<i}, beberapa jenis permintaan mungkin menampilkan respons. Ini ditampilkan dalam array, dengan setiap respons menempati indeks yang sama dengan permintaan yang sesuai. Beberapa permintaan tidak memiliki respons dan untuk permintaan tersebut, responsnya kosong. Struktur respons untuk contoh ini dapat ditemukan di bagian spreadsheets.batchUpdate.

Contoh ini ditampilkan dalam bentuk permintaan HTTP agar tidak menggunakan bahasa yang netral. Untuk mempelajari cara menerapkan update batch dalam berbagai bahasa menggunakan library klien Google API, lihat Mengupdate spreadsheet.

Dalam contoh ini, placeholder SPREADSHEET_ID dan SHEET_ID menunjukkan tempat Anda akan memberikan ID tersebut. Anda dapat menemukan ID spreadsheet di URL spreadsheet. Anda bisa mendapatkan ID sheet menggunakan metode spreadsheets.get. Rentang ditentukan menggunakan notasi A1. Contoh rentangnya adalah Sheet1!A1:D5.

Pada video di atas, Anda akan mempelajari cara memformat sel spreadsheet dengan berbagai cara, termasuk: membuat baris beku, menebalkan sel, menerapkan pemformatan mata uang, melakukan validasi sel, dan membatasi nilai sel.

Edit batas sel

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan UpdateBordersRequest untuk memberi setiap sel dalam rentang A1:F10 batas atas dan bawah yang terputus-putus berwarna biru. Kolom innerHorizontal membuat batas horizontal di bagian dalam rentang. Menghapus kolom akan menyebabkan batas hanya ditambahkan ke bagian atas dan bawah seluruh rentang.

Tabel berukuran 3x3, dengan setiap sel memiliki batas atas dan bawah berwarna biru yang putus-putus.
Gambar 1. Format setiap sel dengan batas biru dan putus-putus di atas sheet.

Protokol permintaan ditampilkan di bawah ini.

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

Memformat baris header

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan RepeatCellRequest untuk memformat baris header dalam sheet. Permintaan pertama mengupdate warna teks, warna latar belakang, ukuran font teks, dan justifikasi teks, serta membuat teks menjadi tebal. Menghapus indeks kolom di kolom range akan menyebabkan seluruh baris diformat. Permintaan kedua menyesuaikan properti sheet sehingga baris header dibekukan.

Tabel berukuran 3x3 dengan baris header berformat dalam sheet.
Gambar 2. Memformat baris header dalam sheet.

Protokol permintaan ditampilkan di bawah ini.

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

Gabungkan sel

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan MergeCellsRequest untuk menggabungkan sel. Permintaan pertama menggabungkan rentang A1:B2 menjadi satu sel. Permintaan kedua menggabungkan kolom di A3:B6, sementara membiarkan baris dipisahkan.

Tabel berukuran 3 kali 3 dengan sel yang digabungkan dalam satu sheet.
Gambar 3. Gabungkan sel dalam sheet.

Protokol permintaan ditampilkan di bawah ini.

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

Menetapkan format tanggal dan desimal kustom untuk rentang tertentu

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan RepeatCellRequest untuk memperbarui sel agar memiliki format tanggal dan angka kustom. Permintaan pertama memberi sel dalam rentang A1:A10 format tanggal dan waktu kustom hh:mm:ss am/pm, ddd mmm dd yyyy. Contoh tanggal dan waktu dalam format ini adalah: "02:05:07 PM, Min 03 April 2016".

Permintaan kedua memberikan format angka kustom kepada sel-sel di B1:B10 #,##0.0000, yang menunjukkan bahwa angka harus dikelompokkan dengan pemisah koma, harus ada 4 digit setelah desimal, dan bahwa semua kecuali satu di depan harus dihapus. Misalnya, angka "3.14" dirender sebagai "3.1400", sedangkan "12345.12345" dirender sebagai "12,345.1235".

Tabel 3x3 dengan format tanggal dan angka khusus dalam sheet.
Gambar 4. Perbarui sel agar memiliki format tanggal dan angka kustom dalam sheet.

Protokol permintaan ditampilkan di bawah ini.

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