Google Sheets API를 사용하여 조건부 서식 규칙을 만들고 업데이트할 수 있습니다. 할 수 있습니다. 특정 서식 유형만 (굵게, 기울임꼴, 취소선, 조건부 색상, 배경 색상 등은 조건부 옵션을 통해 서식을 지정합니다. 이 페이지의 예시는 일반적인 Sheets API를 사용한 조건부 서식 작업
이 예는 언어 중립을 위해 HTTP 요청으로 제공됩니다. 배우기 위해 Google API를 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법 자세한 내용은 업데이트 스프레드시트를 사용합니다.
이 예에서 SPREADSHEET_ID 및 SHEET_ID 자리표시자는
는 해당 ID를 제공할 위치를 나타냅니다. 스프레드시트
ID를 입력합니다. 얻을 수 있는 혜택
시트 ID를
spreadsheets.get
메서드를 사용하여 지도 가장자리에
패딩을 추가할 수 있습니다. 이
A1 표기법을 사용하여 범위를 지정합니다.
예시 범위는 Sheet1!A1:D5입니다.
한 행에 조건부 색상 그라디언트 추가
다음
spreadsheets.batchUpdate
드림
메서드 코드 샘플은
AddConditionalFormatRuleRequest
를 사용하여 각 그라데이션 색의
시트입니다. 첫 번째 규칙은 해당 행의 셀에 배경색을 사용하도록 명시합니다.
자동으로 설정할 수 있습니다 행의 가장 낮은 값은 진한 빨간색으로 표시되어 있습니다.
가장 높은 값은 밝은 녹색으로 표시됩니다. 다른 값의 색상
보간됩니다. 두 번째 규칙은 동일하지만 특정 숫자 값을 사용합니다.
그라데이션 끝점 (및 다른 색상)을 결정합니다. 이 요청은
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행의 maxpoint가 256
(으)로 설정되어 있으며 그보다 높은 모든 값은 maxpoint를 갖습니다.
색상:
범위 집합에 조건부 서식 규칙 추가
다음
spreadsheets.batchUpdate
드림
메서드 코드 샘플은
AddConditionalFormatRuleRequest
시트의 A열과 C열에 대한 새 조건부 서식 규칙을 설정합니다.
이 규칙에서는 값이 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 } } ] }
요청 후 적용된 서식 규칙이 시트를 업데이트합니다. 이 예에서 현재 날짜가 2016년 9월 26일인 경우:
범위에 맞춤 수식 규칙 추가
다음
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
개의 객체에 각각
a
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 } } } } } } ] }