Objective-C
Objective-C
Google Sheets Conditional Formatting - Color Gradient
See more Google Sheets Examples
Add a conditional color gradient across a rowChilkat Objective-C Downloads
#import <CkoHttp.h>
#import <NSString.h>
#import <CkoJsonObject.h>
#import <CkoHttpResponse.h>
BOOL success = NO;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkoHttp *http = [[CkoHttp alloc] init];
// 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
// }
// }
// ]
// }
NSString *sheetId = @"YOUR_SHEET_ID";
CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"requests[0].addConditionalFormatRule.rule.ranges[0].sheetId" value: sheetId];
[json UpdateInt: @"requests[0].addConditionalFormatRule.rule.ranges[0].startRowIndex" value: [NSNumber numberWithInt: 9]];
[json UpdateInt: @"requests[0].addConditionalFormatRule.rule.ranges[0].endRowIndex" value: [NSNumber numberWithInt: 10]];
[json UpdateNumber: @"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.green" numericStr: @"0.2"];
[json UpdateNumber: @"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.color.red" numericStr: @"0.8"];
[json UpdateString: @"requests[0].addConditionalFormatRule.rule.gradientRule.minpoint.type" value: @"MIN"];
[json UpdateNumber: @"requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green" numericStr: @"0.9"];
[json UpdateString: @"requests[0].addConditionalFormatRule.rule.gradientRule.maxpoint.type" value: @"MAX"];
[json UpdateInt: @"requests[0].addConditionalFormatRule.index" value: [NSNumber numberWithInt: 0]];
[json UpdateString: @"requests[1].addConditionalFormatRule.rule.ranges[0].sheetId" value: sheetId];
[json UpdateInt: @"requests[1].addConditionalFormatRule.rule.ranges[0].startRowIndex" value: [NSNumber numberWithInt: 10]];
[json UpdateInt: @"requests[1].addConditionalFormatRule.rule.ranges[0].endRowIndex" value: [NSNumber numberWithInt: 11]];
[json UpdateNumber: @"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.green" numericStr: @"0.8"];
[json UpdateNumber: @"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.color.red" numericStr: @"0.8"];
[json UpdateString: @"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.type" value: @"NUMBER"];
[json UpdateString: @"requests[1].addConditionalFormatRule.rule.gradientRule.minpoint.value" value: @"0"];
[json UpdateNumber: @"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.blue" numericStr: @"0.9"];
[json UpdateNumber: @"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.green" numericStr: @"0.5"];
[json UpdateNumber: @"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.color.red" numericStr: @"0.5"];
[json UpdateString: @"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.type" value: @"NUMBER"];
[json UpdateString: @"requests[1].addConditionalFormatRule.rule.gradientRule.maxpoint.value" value: @"256"];
[json UpdateInt: @"requests[1].addConditionalFormatRule.index" value: [NSNumber numberWithInt: 1]];
// Adds the "Authorization: Bearer ACCESS_TOKEN" header.
http.AuthToken = @"ACCESS_TOKEN";
[http SetRequestHeader: @"Content-Type" value: @"application/json"];
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpJson: @"POST" url: @"https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate" json: json contentType: @"application/json" response: resp];
if (success == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
NSLog(@"%@%d",@"Status code: ",[resp.StatusCode intValue]);
NSLog(@"%@",@"Response body:");
NSLog(@"%@",resp.BodyStr);