Sample code for 30+ languages & platforms
AutoIt

Google Sheets Conditional Formatting - Color Gradient

See more Google Sheets Examples

Add a conditional color gradient across a row

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.

$oHttp = ObjCreate("Chilkat.Http")

; Implements the following CURL command:

; curl -H "Content-Type: application/json" \
;    -H "Authorization: Bearer ACCESS_TOKEN" \
;    -X POST \
;    -d '{
;   "requests": [
;     {
;       "addConditionalFormatRule": {
;         "rule": {
;           "ranges": [
;             {
;               "sheetId": sheetId,
;               "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": sheetId,
;               "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
;       }
;     },
;   ]
; }' https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate

; Use the following online tool to generate HTTP code from a CURL command
; Convert a cURL Command to HTTP Source Code

; Use this online tool to generate code from sample JSON:
; Generate Code to Create JSON

; The following JSON is sent in the request body.

; {
;   "requests": [
;     {
;       "addConditionalFormatRule": {
;         "rule": {
;           "ranges": [
;             {
;               "sheetId": sheetId,
;               "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": sheetId,
;               "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
;       }
;     }
;   ]
; }

Local $sheetId = "YOUR_SHEET_ID"

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateString("requests[0].addConditionalFormatRule.rule.ranges[0].sheetId",$sheetId)
$oJson.UpdateInt("requests[0].addConditionalFormatRule.rule.ranges[0].startRowIndex",9)
$oJson.UpdateInt("requests[0].addConditionalFormatRule.rule.ranges[0].endRowIndex",10)
$oJson.UpdateNumber("requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.green","0.2")
$oJson.UpdateNumber("requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.red","0.8")
$oJson.UpdateString("requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.type","MIN")
$oJson.UpdateNumber("requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green","0.9")
$oJson.UpdateString("requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.type","MAX")
$oJson.UpdateInt("requests[0].addConditionalFormatRule.index",0)
$oJson.UpdateString("requests[1].addConditionalFormatRule.rule.ranges[0].sheetId",$sheetId)
$oJson.UpdateInt("requests[1].addConditionalFormatRule.rule.ranges[0].startRowIndex",10)
$oJson.UpdateInt("requests[1].addConditionalFormatRule.rule.ranges[0].endRowIndex",11)
$oJson.UpdateNumber("requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.green","0.8")
$oJson.UpdateNumber("requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.red","0.8")
$oJson.UpdateString("requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.type","NUMBER")
$oJson.UpdateString("requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.value","0")
$oJson.UpdateNumber("requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.blue","0.9")
$oJson.UpdateNumber("requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green","0.5")
$oJson.UpdateNumber("requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.red","0.5")
$oJson.UpdateString("requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.type","NUMBER")
$oJson.UpdateString("requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.value","256")
$oJson.UpdateInt("requests[1].addConditionalFormatRule.index",1)

; Adds the "Authorization: Bearer ACCESS_TOKEN" header.
$oHttp.AuthToken = "ACCESS_TOKEN"
$oHttp.SetRequestHeader "Content-Type","application/json"

$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST","https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate",$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite("Status code: " & $oResp.StatusCode & @CRLF)
ConsoleWrite("Response body:" & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)