Pemformatan dasar

Google Sheets API memungkinkan Anda mengupdate pemformatan sel dan rentang dalam spreadsheet. Contoh pada halaman ini mengilustrasikan cara beberapa operasi pemformatan umum dapat dilakukan dengan Sheets API. Anda dapat menemukan contoh format bersyarat lainnya di halaman urutan langkah Pemformatan bersyarat.

Saat mengupdate spreadsheet, beberapa jenis permintaan mungkin menampilkan respons. Semua 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-contoh ini disajikan dalam bentuk permintaan HTTP dengan 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 rentang adalah Sheet1!A1:D5.

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

Mengedit batas sel

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

Tabel berukuran 3 kali 3 dengan setiap sel memiliki batas atas dan bawah berwarna biru putus-putus.
Gambar 1. Format setiap sel dengan garis batas atas dan bawah biru putus-putus di 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 di sheet. Permintaan pertama memperbarui warna teks, warna latar belakang, ukuran font teks, dan perataan teks, serta menebalkan teks. Menghapus indeks kolom di kolom range akan menyebabkan seluruh baris diformat. Permintaan kedua menyesuaikan properti sheet sehingga baris header dibekukan.

Tabel 3x3 dengan baris header berformat di sheet.
Gambar 2. Memformat baris header di 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 terpisah.

Tabel 3x3 dengan sel yang digabungkan di sheet.
Gambar 3. Menggabungkan 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 datetime atau desimal kustom untuk rentang

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

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

Tabel 3 kali 3 dengan format tanggal dan angka kustom dalam sheet.
Gambar 4. Memperbarui sel agar memiliki format tanggal-waktu 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"
      }
    }
  ]
}