시트 작업

Google Sheets API를 사용하면 시트를 만들고, 지우고, 복사하고, 삭제할 수 있으며 시트의 속성을 제어할 수도 있습니다. 이 페이지의 예에서는 Sheets API를 사용하여 일반적인 Sheets 작업을 수행하는 방법을 보여줍니다.

이러한 예는 언어 중립적인 HTTP 요청 형식으로 제공됩니다. Google API 클라이언트 라이브러리를 사용하여 여러 언어로 일괄 업데이트를 구현하는 방법을 알아보려면 스프레드시트 업데이트를 참고하세요.

이러한 예에서 자리표시자 SPREADSHEET_IDSHEET_ID 는 이러한 ID를 제공할 위치를 나타냅니다. 스프레드시트 URL에서 스프레드시트 ID를 확인할 수 있습니다. 시트 IDspreadsheets.get 메서드를 사용하여 가져올 수 있습니다. 범위는 A1 표기법을 사용하여 지정됩니다. 범위의 예는 Sheet1!A1:D5입니다.

시트 추가

다음 spreadsheets.batchUpdate 코드 샘플은 AddSheetRequest 를 사용하여 스프레드시트에 시트를 추가하는 동시에 제목, 그리드 크기, 탭 색상을 설정하는 방법을 보여줍니다.

응답은 생성된 시트의 속성 (예: SHEET_ID)이 포함된 객체가 포함된 AddSheetResponse로 구성됩니다.

요청 프로토콜은 아래와 같습니다.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

형식은 유지하면서 시트의 모든 값 지우기

다음 spreadsheets.batchUpdate 코드 샘플은 UpdateCellsRequest 를 사용하여 형식을 변경하지 않고 시트에서 모든 값을 삭제하는 방법을 보여줍니다.

해당하는 값 없이 userEnteredValue 필드 를 지정하면 범위의 값 을 지우는 명령어로 해석됩니다. 이 설정은 다른 필드와 함께 사용할 수도 있습니다. 예를 들어, userEnteredFormat 값을 fields으로 변경하면 Sheets API에서 지원하는 모든 형식이 시트에서 삭제되지만 셀 값은 변경되지 않습니다.

요청 프로토콜은 아래와 같습니다.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

한 스프레드시트에서 다른 스프레드시트로 시트 복사

다음 spreadsheet.sheets.copyTo 코드 샘플은 SHEET_ID 로 지정된 단일 시트를 한 스프레드시트에서 다른 스프레드시트로 복사하는 방법을 보여줍니다.

요청 본문의 TARGET_SPREADSHEET_ID 변수는 대상 스프레드시트를 지정합니다. 복사본은 원본의 모든 값, 형식, 수식, 기타 속성을 유지합니다. 복사된 시트의 제목은 '[원본 시트 제목]의 사본'으로 설정됩니다.

응답은 생성된 시트의 속성을 설명하는 SheetProperties 객체로 구성됩니다.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

시트 삭제

다음 spreadsheets.batchUpdate 코드 샘플은 DeleteSheetRequest 를 사용하여 SHEET_ID로 지정된 시트를 삭제하는 방법을 보여줍니다.

요청 프로토콜은 아래와 같습니다.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

시트 데이터 읽기

다음 spreadsheets.get 코드 샘플 은 시트 속성 정보를 스프레드시트에서 가져오는 방법을 보여줍니다. 이 정보는 SHEET_IDSPREADSHEET_ID로 지정됩니다. 이 메서드는 특정 스프레드시트 내에서 시트의 메타데이터를 확인하는 데 자주 사용되므로 추가 작업에서 이러한 시트를 타겟팅할 수 있습니다. fields 쿼리 매개변수는 셀 값 데이터 또는 전체 스프레드시트와 관련된 데이터가 아닌 시트 속성 데이터만 반환되도록 지정합니다.

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

응답은 Spreadsheet 리소스로 구성되며, 여기에는 Sheet 객체와 SheetProperties 요소가 포함됩니다. 지정된 응답 필드가 기본값으로 설정된 경우 응답에서 생략됩니다.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}