Google Sheets API से, शर्त के साथ फ़ॉर्मैटिंग के नियम बनाए जा सकते हैं और उन्हें अपडेट किया जा सकता है देखें. फ़ॉर्मैटिंग के कुछ टाइप (बोल्ड, इटैलिक, स्ट्राइकथ्रू, फ़ोरग्राउंड का रंग और बैकग्राउंड का रंग) को कंडिशनल तरीके से कंट्रोल किया जा सकता है फ़ॉर्मैट न करें. इस पेज पर दिए गए उदाहरणों में बताया गया है कि Sheets API का इस्तेमाल करके, कंडिशनल (शर्त के साथ) फ़ॉर्मैटिंग से जुड़ी कार्रवाइयां.
ये उदाहरण भाषा न्यूट्रल होने के एचटीटीपी अनुरोधों के तौर पर दिखाए गए हैं. सीखने में Google API का इस्तेमाल करके, बैच अपडेट को अलग-अलग भाषाओं में लागू करने का तरीका क्लाइंट लाइब्रेरी के लिए, अपडेट करें स्प्रेडशीट.
इन उदाहरणों में, SPREADSHEET_ID और SHEET_ID प्लेसहोल्डर
बताता है कि आपको वे आईडी कहां देने हैं. आपको स्प्रेडशीट
आईडी के तौर पर डालें. आपको ये चीज़ें मिल सकती हैं
शीट आईडी को ढूंढने के लिए
spreadsheets.get
तरीका. कॉन्टेंट बनाने
रेंज, A1 नोटेशन का इस्तेमाल करके तय की जाती हैं. अगर आप
उदाहरण के लिए, रेंज Sheet1!A1:D5 है.
एक पंक्ति में, कंडिशनल कलर ग्रेडिएंट जोड़ें
नीचे दिए गए
spreadsheets.batchUpdate
सैंपल कोड का इस्तेमाल करके, यह पता लगाया जा सकता है कि
AddConditionalFormatRuleRequest
लाइन 10 और 11 के लिए, ग्रेडिएंट कंडिशनल फ़ॉर्मैटिंग के नए नियम बनाने के लिए
शीट. पहला नियम बताता है कि उस पंक्ति में मौजूद सेल के बैकग्राउंड रंग हैं
उनकी वैल्यू के हिसाब से सेट किया जा सकता है. पंक्ति में सबसे कम वैल्यू, गहरे लाल रंग में दिखती है.
जबकि सबसे ऊंचे मान को चमकीले हरे रंग में दिखाया जाता है. दूसरी वैल्यू का रंग
इंटरपोलेट किया गया है. दूसरा नियम यही करता है, लेकिन उसके लिए खास संख्या वाली वैल्यू का इस्तेमाल किया जाता है
ग्रेडिएंट एंडपॉइंट (और अलग-अलग रंग) तय करना. अनुरोध,
sheets.InterpolationPointType
type
के तौर पर.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
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 } }, ] }
अनुरोध के बाद, लागू किए गए फ़ॉर्मैट का नियम, शीट में अपडेट हो जाता है. ग्रेडिएंट के बाद से
पंक्ति 11 में, इसका ज़्यादा से ज़्यादा पॉइंट 256
पर सेट है, इसके ऊपर के किसी भी मान में इसकी सबसे बड़ी वैल्यू है
रंग:
रेंज के सेट में कंडिशनल (शर्त के साथ) फ़ॉर्मैटिंग का नियम जोड़ना
नीचे दिए गए
spreadsheets.batchUpdate
तरीका का सैंपल,
AddConditionalFormatRuleRequest
का इस्तेमाल करें.
नियम में बताया गया है कि 10 या उससे कम वैल्यू वाली सेल में बैकग्राउंड होता है
गहरे लाल रंग में बदल गया हो. नियम को इंडेक्स 0 पर डाला गया है, इसलिए यह
प्राथमिकता तय करें. अनुरोध,
ConditionType
type
के तौर पर
BooleanRule
.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
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 } } ] }
अनुरोध के बाद, लागू किए गए फ़ॉर्मैट के नियम से शीट में यह बदलाव हो जाता है:
किसी रेंज में, कंडिशनल फ़ॉर्मैटिंग के नियम और तारीख जोड़ें
नीचे दिए गए
spreadsheets.batchUpdate
तरीका का सैंपल,
AddConditionalFormatRuleRequest
की मदद से, शीट में A1:D5 रेंज के लिए कंडिशनल फ़ॉर्मैटिंग के नए नियम बनाए जा सकते हैं.
तारीख और टेक्स्ट वैल्यू के हिसाब से डाला जाता है. अगर टेक्स्ट में स्ट्रिंग है
"कीमत" (केस-इनसेंसिटिव), पहला नियम, सेल के टेक्स्ट को बोल्ड के तौर पर सेट कर देता है. अगर
सेल में पिछले हफ़्ते से पहले की तारीख शामिल है, दूसरा नियम
सेल के टेक्स्ट को इटैलिक करें और उसे नीला रंग दें. अनुरोध,
ConditionType
के रूप में type
BooleanRule
.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
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 } } ] }
अनुरोध के बाद, लागू किए गए फ़ॉर्मैट का नियम, शीट में अपडेट हो जाता है. इस उदाहरण में, मौजूदा तारीख 26/9/2016 है:
किसी रेंज में कस्टम फ़ॉर्मूला का नियम जोड़ना
नीचे दिए गए
spreadsheets.batchUpdate
तरीका का सैंपल,
AddConditionalFormatRuleRequest
ताकि शीट में B5:B8 रेंज के लिए, कंडिशनल फ़ॉर्मैटिंग का नया नियम बनाया जा सके.
पर आधारित होता है. नियम इसमें सेल के गुणनफल की गणना करता है
कॉलम A और B. अगर प्रॉडक्ट 120 से ज़्यादा है, तो सेल का टेक्स्ट
बोल्ड और इटैलिक करें. अनुरोध,
ConditionType
type
के तौर पर
BooleanRule
.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
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 } } ] }
अनुरोध के बाद, लागू किए गए फ़ॉर्मैट के नियम से शीट में यह बदलाव हो जाता है:
कंडिशनल फ़ॉर्मैटिंग का नियम मिटाना
नीचे दिए गए
spreadsheets.batchUpdate
तरीका का सैंपल,
DeleteConditionalFormatRuleRequest
बताई गई शीट में इंडेक्स 0
वाले कंडिशनल फ़ॉर्मैटिंग के नियम को मिटाने के लिए
SHEET_ID ने.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{ "requests": [ { "deleteConditionalFormatRule": { "sheetId": SHEET_ID, "index": 0 } } ] }
कंडिशनल फ़ॉर्मैटिंग के नियमों की सूची पढ़ना
नीचे दिए गए
spreadsheets.get
तरीका कोड
सैंपल में, टाइटल, SHEET_ID, और सभी की सूची पाने का तरीका बताया गया है
स्प्रेडशीट में हर शीट के लिए, कंडिशनल (शर्त के साथ) फ़ॉर्मैटिंग के नियम सेट करें. fields
क्वेरी
पैरामीटर से तय होता है कि कौनसा डेटा दिखाना है.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?fields=sheets(properties(title,sheetId),conditionalFormats)
इसके जवाब में
Spreadsheet
संसाधन, जो
इसमें
Sheet
ऑब्जेक्ट में प्रत्येक
एक
SheetProperties
एलिमेंट और कलेक्शन
ConditionalFormatRule
एलिमेंट. अगर दिया गया जवाब फ़ील्ड डिफ़ॉल्ट मान पर सेट है, तो उसे छोड़ दिया जाता है
पहले से चुना हुआ है. अनुरोध,
ConditionType
type
के तौर पर
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 } } } }, ... ] } ] }
कंडिशनल फ़ॉर्मैटिंग के नियम या उसकी प्राथमिकता अपडेट करना
नीचे दिए गए
spreadsheets.batchUpdate
तरीका का सैंपल,
UpdateConditionalFormatRuleRequest
कई अनुरोधों के साथ. पहला अनुरोध, मौजूदा कंडिशनल फ़ॉर्मैट को ट्रांसफ़र करता है
नियम को ऊंचे इंडेक्स पर सेट करना होगा (0
से 2
तक, इसकी प्राथमिकता घटाकर). दूसरा
अनुरोध, इंडेक्स 0
पर कंडिशनल फ़ॉर्मैटिंग के नियम को नए नियम से बदल देता है
जो सटीक टेक्स्ट वाली सेल को फ़ॉर्मैट करता है ("कुल लागत")
A1:D5 रेंज. पहला अनुरोध, दूसरे अनुरोध के शुरू होने से पहले ही पूरा कर लिया जाता है. इसलिए
दूसरा अनुरोध उस नियम की जगह ले रहा है जो मूल रूप से इंडेक्स 1
पर था. कॉन्टेंट बनाने
अनुरोध,
ConditionType
type
के तौर पर
BooleanRule
.
अनुरोध का प्रोटोकॉल नीचे दिखाया गया है.
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 } } } } } } ] }