Pemformatan dasar

Anda dapat memperbarui pemformatan sel dan rentang dalam spreadsheet menggunakan Google Spreadsheet API. Contoh di halaman ini menggambarkan cara beberapa operasi pemformatan umum dapat dilakukan dengan Sheets API. Anda dapat menemukan contoh pemformatan bersyarat lainnya di halaman resep Pemformatan bersyarat.

Saat memperbarui spreadsheet, beberapa jenis permintaan dapat menampilkan respons. 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 disajikan dalam bentuk permintaan HTTP agar netral terhadap bahasa. Untuk mempelajari cara menerapkan update batch dalam berbagai bahasa menggunakan library klien Google API, lihat Memperbarui 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 tetap, 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 memberikan batas atas dan bawah putus-putus berwarna biru pada setiap sel dalam rentang A1:F10. Kolom innerHorizontal membuat batas horizontal di bagian dalam rentang. Jika kolom ini tidak diisi, batas hanya akan ditambahkan ke bagian atas dan bawah seluruh rentang.

Tabel 3x3 dengan setiap sel memiliki batas atas dan bawah putus-putus berwarna biru.
Gambar 1. Format setiap sel dengan batas atas dan bawah biru putus-putus dalam spreadsheet.

Protokol permintaan ditampilkan di bawah.

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 memperbarui warna teks, warna latar belakang, ukuran font teks, dan perataan teks, serta membuat teks menjadi tebal. Menghilangkan 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 dalam sheet.
Gambar 2. Memformat baris header dalam sheet.

Protokol permintaan ditampilkan di bawah.

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

Menggabungkan 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, sambil membiarkan baris tetap terpisah.

Tabel 3x3 dengan sel yang digabungkan dalam sheet.
Gambar 3. Menggabungkan sel dalam sheet.

Protokol permintaan ditampilkan di bawah.

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 waktu atau desimal kustom untuk rentang

Contoh kode spreadsheets.batchUpdate berikut menunjukkan cara menggunakan RepeatCellRequest untuk memperbarui sel agar memiliki format tanggal/waktu 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, Sun Apr 03 2016".

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

Untuk mengetahui informasi selengkapnya, lihat Format tanggal dan angka.

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

Protokol permintaan ditampilkan di bawah.

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