Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Google Sheets Conditional Formatting - Color GradientAdd a conditional color gradient across a row For more information, see https://developers.google.com/sheets/api/samples/conditional-formatting#add_a_conditional_color_gradient_across_a_row
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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 ; } ; } ; ] ; } sheetId.s = "YOUR_SHEET_ID" json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"requests[0].addConditionalFormatRule.rule.ranges[0].sheetId",sheetId) CkJsonObject::ckUpdateInt(json,"requests[0].addConditionalFormatRule.rule.ranges[0].startRowIndex",9) CkJsonObject::ckUpdateInt(json,"requests[0].addConditionalFormatRule.rule.ranges[0].endRowIndex",10) CkJsonObject::ckUpdateNumber(json,"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.green","0.2") CkJsonObject::ckUpdateNumber(json,"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.red","0.8") CkJsonObject::ckUpdateString(json,"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.type","MIN") CkJsonObject::ckUpdateNumber(json,"requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green","0.9") CkJsonObject::ckUpdateString(json,"requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.type","MAX") CkJsonObject::ckUpdateInt(json,"requests[0].addConditionalFormatRule.index",0) CkJsonObject::ckUpdateString(json,"requests[1].addConditionalFormatRule.rule.ranges[0].sheetId",sheetId) CkJsonObject::ckUpdateInt(json,"requests[1].addConditionalFormatRule.rule.ranges[0].startRowIndex",10) CkJsonObject::ckUpdateInt(json,"requests[1].addConditionalFormatRule.rule.ranges[0].endRowIndex",11) CkJsonObject::ckUpdateNumber(json,"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.green","0.8") CkJsonObject::ckUpdateNumber(json,"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.red","0.8") CkJsonObject::ckUpdateString(json,"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.type","NUMBER") CkJsonObject::ckUpdateString(json,"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.value","0") CkJsonObject::ckUpdateNumber(json,"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.blue","0.9") CkJsonObject::ckUpdateNumber(json,"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green","0.5") CkJsonObject::ckUpdateNumber(json,"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.red","0.5") CkJsonObject::ckUpdateString(json,"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.type","NUMBER") CkJsonObject::ckUpdateString(json,"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.value","256") CkJsonObject::ckUpdateInt(json,"requests[1].addConditionalFormatRule.index",1) ; Adds the "Authorization: Bearer ACCESS_TOKEN" header. CkHttp::setCkAuthToken(http, "ACCESS_TOKEN") CkHttp::ckSetRequestHeader(http,"Content-Type","application/json") resp.i = CkHttp::ckPostJson3(http,"https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate","application/json",json) If CkHttp::ckLastMethodSuccess(http) = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug "Status code: " + Str(CkHttpResponse::ckStatusCode(resp)) Debug "Response body:" Debug CkHttpResponse::ckBodyStr(resp) CkHttpResponse::ckDispose(resp) CkHttp::ckDispose(http) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.