Google Sheets API'yi kullanarak e-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 ilgili istekle aynı dizini kullandığı 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, dil açısından tarafsız olması için HTTP istekleri şeklinde sunulur. Google API istemci kitaplıklarını kullanarak farklı dillerde toplu güncelleme işlemini nasıl uygulayacağınızı öğrenmek için E-tabloları güncelleme başlıklı makaleyi inceleyin.
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.
Alan atlanırsa yalnızca aralığın tamamının üst ve alt kısımlarına kenarlık eklenir.
İ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, üstbilgi satırının dondurulması için sayfa özelliklerini 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 işlevinin nasıl kullanılacağı gösterilmektedir. İlk istek, A1:B2 aralığını tek bir hücrede birleştirir. İkinci istek, satırları ayrı bırakarak 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 ve 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 basamaktan sonra 4 rakam olması ve baştaki sıfırlardan biri hariç hepsinin 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" } } ] }