Google Sheets API'yi kullanarak elektronik tablolardaki hücrelerin ve aralıkların biçimlendirmesini güncelleyebilirsiniz. Bu sayfadaki örneklerde, bazı yaygın biçimlendirme işlemlerinin Sheets API ile nasıl yapılabileceği gösterilmektedir. Daha fazla koşullu biçimlendirme örneğini Koşullu biçimlendirme tarif sayfasında bulabilirsiniz.
Bir e-tablo güncellenirken bazı istekler yanıt döndürebilir.
Bunlar, her yanıtın karşılık gelen istekle aynı dizini işgal ettiği bir dizide döndürülür. Bazı isteklerin yanıtı yoktur ve bu istekler için yanıt boş olur. Bu örneklerin yanıt yapısını spreadsheets.batchUpdate bölümünde bulabilirsiniz.
Bu örnekler, dilden bağımsız olması için HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme yapmayı öğrenmek için E-tabloları güncelleme başlıklı makaleye bakın.
Bu örneklerde, SPREADSHEET_ID ve SHEET_ID yer tutucuları, bu kimlikleri nerede sağlayacağınızı gösterir. E-tablo kimliğini e-tablo URL'sinde bulabilirsiniz.
Sayfa kimliğini almak için spreadsheets.get yöntemini kullanabilirsiniz. Aralıklar A1 gösterimi kullanılarak belirtilir. Örnek bir aralık: Sayfa1!A1:D5.
Yukarıdaki videoda, e-tablo hücrelerini çeşitli şekillerde biçimlendirmeyi öğreniyorsunuz. Örneğin: satırları dondurma, hücreleri kalınlaştırma, para birimi biçimlendirmesi uygulama, hücre doğrulama gerçekleştirme ve hücre değerlerini kısıtlama.
Hücre kenarlıklarını düzenleme
Aşağıdaki
spreadsheets.batchUpdate
kod örneği, A1:F10 aralığındaki her hücreye kesikli, mavi bir üst ve alt kenarlık vermek için
UpdateBordersRequest
işlevinin nasıl kullanılacağını gösterir. innerHorizontal alanı, aralığın iç kısmında yatay kenarlıklar oluşturur.
Bu alanın atlanması, yalnızca aralığın tamamının üst ve alt kısımlarına kenarlık eklenmesine neden olur.
İstek protokolü aşağıda gösterilmiştir.
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
},
},
}
}
]
}Başlık satırını biçimlendirme
Aşağıdaki spreadsheets.batchUpdate kod örneğinde, bir sayfadaki başlık satırını biçimlendirmek için RepeatCellRequest işlevinin nasıl kullanılacağı gösterilmektedir. İlk istek, metin rengini, arka plan rengini, metin yazı tipi boyutunu ve metin hizalamasını günceller ve metni kalın yapar. range alanında sütun dizinlerinin atlanması, satırın tamamının biçimlendirilmesine neden olur. İkinci istek, sayfa özelliklerini başlık satırı dondurulacak şekilde ayarlar.
İstek protokolü aşağıda gösterilmiştir.
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" } } ] }
Hücreleri birleştir
Aşağıdaki spreadsheets.batchUpdate kod örneğinde, hücreleri birleştirmek için MergeCellsRequest nasıl kullanılacağı gösterilmektedir. İlk istek, A1:B2 aralığını tek bir hücrede birleştirir. İkinci istek, satırları ayrı bırakırken A3:B6 aralığındaki sütunları birleştirir.
İstek protokolü aşağıda gösterilmiştir.
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"
}
},
]
}Bir aralık için özel tarih/saat veya ondalık biçim ayarlama
Aşağıdaki
spreadsheets.batchUpdate
kod örneğinde, hücreleri özel tarih/saat ve sayı biçimlerine sahip olacak şekilde güncellemek için
RepeatCellRequest
işlevinin nasıl kullanılacağı gösterilmektedir. İlk istek, A1:A10 aralığındaki hücrelere hh:mm:ss am/pm,
ddd mmm dd yyyy özel tarih/saat biçimini verir. Bu biçimdeki bir tarih/saat örneği: "02:05:07 PM, Sun Apr
03 2016".
İkinci istek, B1:B10 hücrelerine özel sayı biçimi #,##0.0000 uygular. Bu biçim, sayıların virgül ayırıcılarla gruplandırılması, ondalık işaretten sonra 4 basamak olması ve baştaki sıfırların biri hariç tümünün kaldırılması gerektiğini belirtir. Örneğin, "3.14" sayısı "3.1400" olarak, "12345.12345" sayısı ise "12.345,1235" olarak oluşturulur.
Daha fazla bilgi için Tarih ve sayı biçimleri başlıklı makaleyi inceleyin.
İstek protokolü aşağıda gösterilmiştir.
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" } } ] }