Google Sheets API를 사용하면 다양한 방법으로 스프레드시트 내의 데이터를 조작할 수 있습니다. Sheets UI를 사용하는 사용자가 사용할 수 있는 대부분의 기능은 Sheets API로도 실행할 수 있습니다. 이 페이지의 예는 Sheets API를 사용하여 일반적인 스프레드시트 작업을 실행하는 방법을 보여줍니다.
이러한 예는 언어 중립성을 위해 HTTP 요청 형식으로 표시됩니다. Google API 클라이언트 라이브러리를 사용하여 여러 언어로 일괄 업데이트를 구현하는 방법은 스프레드시트 업데이트를 참고하세요.
이 예에서 자리표시자 SPREADSHEET_ID
및 SHEET_ID
는 이러한 ID를 제공할 위치를 나타냅니다. 스프레드시트 URL에서 스프레드시트 ID를 확인할 수 있습니다. spreadsheets.get
메서드를 사용하여 시트 ID를 가져올 수 있습니다. 범위는 A1 표기법을 사용하여 지정됩니다. 예를 들어 범위는 Sheet1!A1:D5입니다.
범위에 데이터 유효성 검사 적용
다음 spreadsheets.batchUpdate
코드 샘플은 SetDataValidationRequest
를 사용하여 '값 > 5'인 데이터 유효성 검사 규칙을 A1:D10 범위의 모든 셀에 적용하는 방법을 보여줍니다.
요청 프로토콜은 다음과 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
셀 서식 복사 및 붙여넣기
다음 spreadsheets.batchUpdate
코드 샘플은 CopyPasteRequest
를 사용하여 A1:D10 범위의 서식만 복사하여 동일한 시트의 F1:I10 범위에 붙여넣는 방법을 보여줍니다. 이 메서드는 PASTE_FORMAT
와 함께 PasteType
enum을 사용하여 형식 지정 및 데이터 유효성 검사만 붙여넣습니다. A1:D10의 원래 값은 변경되지 않습니다.
요청 프로토콜은 다음과 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
셀 잘라서 붙여넣기
다음 spreadsheets.batchUpdate
코드 샘플은 CutPasteRequest
를 사용하는 방법을 보여줍니다.
A1:D10 범위를 자르고 PASTE_NORMAL
와 함께 PasteType
enum을 사용하여 값, 수식, 형식을 붙여넣고 동일한 시트의 F1:I10 범위로 병합합니다. 원래 소스 범위 셀 내용이 삭제됩니다.
요청 프로토콜은 다음과 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
범위에서 수식 반복
다음 spreadsheets.batchUpdate
코드 샘플은 RepeatCellRequest
를 사용하여 수식 =FLOOR(A1*PI())
를 B1:D10 범위에 복사하는 방법을 보여줍니다. 수식의 범위는 왼쪽 상단 셀부터 시작하여 범위의 각 행과 열에 대해 자동으로 증가합니다. 예를 들어 셀 B1에는 수식 =FLOOR(A1*PI())
가 있고 셀 D6에는 수식 =FLOOR(C6*PI())
가 있습니다.
요청 프로토콜은 다음과 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
여러 정렬 사양으로 범위 정렬
다음 spreadsheets.batchUpdate
코드 샘플은 SortRangeRequest
를 사용하여 A1:D10 범위를 먼저 B열을 기준으로 오름차순으로, 그런 다음 C열을 기준으로 내림차순으로, 마지막으로 D열을 기준으로 내림차순으로 정렬하는 방법을 보여줍니다.
요청 프로토콜은 다음과 같습니다.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}