Google Sheets API, koşullu biçimlendirme kuralları oluşturmanızı ve güncellemenizi sağlar elektronik tablolarda bulabilirsiniz. Yalnızca belirli biçimlendirme türleri (kalın, italik, üstü çizili, ön plan rengi ve arka plan rengi), koşullu olarak kontrol biçimlendirme. Bu sayfadaki örnekler, Sheets API ile koşullu biçimlendirme işlemleri
Bu örnekler, dilden bağımsız olarak HTTP istekleri olarak sunulur. Öğrenmek için Google API kullanılarak farklı dillerde toplu güncelleme uygulama daha fazla bilgi için Güncellemeleri e-tablolar gibi).
Bu örneklerde SPREADSHEET_ID ve SHEET_ID yer tutucuları
bu kimlikleri nereye sağlayacağınızı belirtir. E-tabloyu
kimliği ekleyin. Şundan faydalanabilirsiniz:
sayfa kimliğini değiştirmek için
spreadsheets.get
yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan
aralıklar A1 gösterimi kullanılarak belirtilir.
örnek aralık Sayfa1!A1:D5'tir.
Bir satıra koşullu renk gradyanı ekleme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
AddConditionalFormatRuleRequest
renk geçişinin 10 ve 11. satırları için yeni
sayfasına gitmelidir. İlk kural, bu satırdaki hücrelerin arka plan renklerinin olduğunu belirtir
değerine göre belirlenir. Satırdaki en düşük değer koyu kırmızı renktedir.
en yüksek değer ise parlak yeşil renktedir. Diğer değerlerin rengi
interpolasyondur. İkinci kural da aynısını yapar ancak belirli sayısal değerleri kullanır
renk geçişi uç noktalarını (ve farklı renkleri) belirleme. İstek,
sheets.InterpolationPointType
type
olarak tanımlıyor.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 9, "endRowIndex": 10, } ], "gradientRule": { "minpoint": { "color": { "green": 0.2, "red": 0.8 }, "type": "MIN" }, "maxpoint": { "color": { "green": 0.9 }, "type": "MAX" }, } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 10, "endRowIndex": 11, } ], "gradientRule": { "minpoint": { "color": { "green": 0.8, "red": 0.8 }, "type": "NUMBER", "value": "0" }, "maxpoint": { "color": { "blue": 0.9, "green": 0.5, "red": 0.5 }, "type": "NUMBER", "value": "256" }, } }, "index": 1 } }, ] }
İstekten sonra, uygulanan biçim kuralı sayfayı günceller. Gradyan
11. satırın maksimum noktası 256
olarak ayarlandı ve bunun üzerindeki tüm değerler maksimum noktaya sahip
renk:
Bir aralık grubuna koşullu biçimlendirme kuralı ekleme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
AddConditionalFormatRuleRequest
kullanarak bir sayfanın A ve C sütunları için yeni bir koşullu biçimlendirme kuralı oluşturun.
Kurala göre, değeri 10 veya daha küçük olan hücrelerin arka planı var.
rengi koyu kırmızıya döndü. Kural 0. dizine eklendiğinden
diğer biçimlendirme kurallarına göre
öncelik kazanır. İstek,
ConditionType
için type
olarak
BooleanRule
.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 0, "endColumnIndex": 1, }, { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, }, ], "booleanRule": { "condition": { "type": "NUMBER_LESS_THAN_EQ", "values": [ { "userEnteredValue": "10" } ] }, "format": { "backgroundColor": { "green": 0.2, "red": 0.8, } } } }, "index": 0 } } ] }
İstekten sonra, uygulanan biçim kuralı sayfayı günceller:
Aralığa tarih ve metin koşullu biçimlendirme kuralları ekleme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
AddConditionalFormatRuleRequest
kullanarak bir e-tabloda A1:D5 aralığı için yeni koşullu biçimlendirme kuralları oluşturabilirsiniz.
bu hücrelerdeki tarih ve metin değerlerine göre
değiştirilir. Metin,
"Maliyet" (büyük/küçük harfe duyarlı değil) durumunda, ilk kural hücre metnini kalın olarak ayarlar. Öğe
hücre geçen haftadan önceki bir tarihi içeriyorsa, ikinci kural önceki haftadan önce
hücre metnini italik ve mavi olarak renklendirir. İstek,
ConditionType
için type
olarak
BooleanRule
.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_CONTAINS", "values": [ { "userEnteredValue": "Cost" } ] }, "format": { "textFormat": { "bold": true } } } }, "index": 0 } }, { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "italic": true, "foregroundColor": { "blue": 1 } } } } }, "index": 1 } } ] }
İstekten sonra, uygulanan biçim kuralı sayfayı günceller. Bu örnekte Geçerli tarih 26.9.2016 ise:
Aralığa özel formül kuralı ekleme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
AddConditionalFormatRuleRequest
için yeni bir koşullu biçimlendirme kuralı oluşturun.
elde etti. Kural, hücrenin çarpımını
sütunlarından birini seçin. Çarpım değeri 120'den büyükse hücre metni
kalın ve italik yazı tipini kullanabilirsiniz. İstek,
ConditionType
için type
olarak
BooleanRule
.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "addConditionalFormatRule": { "rule": { "ranges": [ { "sheetId": SHEET_ID, "startColumnIndex": 2, "endColumnIndex": 3, "startRowIndex": 4, "endRowIndex": 8 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, "index": 0 } } ] }
İstekten sonra, uygulanan biçim kuralı sayfayı günceller:
Koşullu biçimlendirme kuralını silme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
DeleteConditionalFormatRuleRequest
(belirtilen sayfada 0
dizinine sahip koşullu biçimlendirme kuralını silin)
SHEET_ID tarafından.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
Koşullu biçimlendirme kuralları listesini okuma
Aşağıdakiler
spreadsheets.get
yöntem kodu
örnek, başlığın, SHEET_ID ve tüm
koşullu biçimlendirme kurallarını belirler. fields
sorgusu
parametresi hangi verilerin döndürüleceğini belirler.
İstek protokolü aşağıda gösterilmiştir.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
Yanıt,
Spreadsheet
kaynağı,
bir dizi içeren
Her birinde Sheet
nesne
CANNOT TRANSLATE
SheetProperties
öğesi ve bir dizi
ConditionalFormatRule
öğeler. Belirli bir yanıt alanı varsayılan değere ayarlanırsa atlanır
kullanıcı olabilir. İstek,
ConditionType
için type
olarak
BooleanRule
.
{ "sheets": [ { "properties": { "sheetId": 0, "title": "Sheet1" }, "conditionalFormats": [ { "ranges": [ { "startRowIndex": 4, "endRowIndex": 8, "startColumnIndex": 2, "endColumnIndex": 3 } ], "booleanRule": { "condition": { "type": "CUSTOM_FORMULA", "values": [ { "userEnteredValue": "=GT(A5*B5,120)" } ] }, "format": { "textFormat": { "bold": true, "italic": true } } } }, { "ranges": [ { "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4 } ], "booleanRule": { "condition": { "type": "DATE_BEFORE", "values": [ { "relativeDate": "PAST_WEEK" } ] }, "format": { "textFormat": { "foregroundColor": { "blue": 1 }, "italic": true } } } }, ... ] } ] }
Koşullu biçimlendirme kuralını veya önceliğini güncelleme
Aşağıdakiler
spreadsheets.batchUpdate
yöntem kod örneği,
UpdateConditionalFormatRuleRequest
oluşturabilirsiniz. İlk istek, mevcut bir koşullu biçimi taşır
daha yüksek bir dizine (0
değerinden 2
değerine, dolayısıyla önceliğini azaltarak) yükseltin. İkinci
isteği, 0
dizinindeki koşullu biçimlendirme kuralını yeni bir kuralla değiştirir
belirtilen metni ("Toplam Maliyet") içeren
A1:D5 aralığı. İlk isteğin taşıması, ikincisi başlamadan önce tamamlanır.
ikinci istek, orijinal olarak 1
dizininde olan kuralın yerini alıyor. İlgili içeriği oluşturmak için kullanılan
istek,
ConditionType
için type
olarak
BooleanRule
.
İstek protokolü aşağıda gösterilmiştir.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "newIndex": 2 }, "updateConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0, "rule": { "ranges": [ { "sheetId": SHEET_ID, "startRowIndex": 0, "endRowIndex": 5, "startColumnIndex": 0, "endColumnIndex": 4, } ], "booleanRule": { "condition": { "type": "TEXT_EQ", "values": [ { "userEnteredValue": "Total Cost" } ] }, "format": { "textFormat": { "bold": true } } } } } } ] }