기본 서식

Google Sheets API를 사용하여 셀 및 범위의 서식을 업데이트할 수 있습니다. 할 수 있습니다. 이 페이지의 예는 몇 가지 일반적인 서식 지정 작업은 Sheets API를 사용하여 수행할 수 있습니다. 다음과 같은 작업을 할 수 있습니다. 더 많은 조건부 서식의 예는 조건부 서식 지정 레시피 페이지를 참조하세요.

스프레드시트를 업데이트할 때 일부 요청 유형은 응답을 반환할 수 있습니다. 배열로 반환되며 각 응답은 확인할 수 있습니다. 일부 요청에는 응답이 없고 비어 있습니다. 이러한 예에 대한 응답 구조는 spreadsheets.batchUpdate

이 예는 언어적 표현인 HTTP 요청의 형식으로 중립적입니다. 다음을 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법을 알아봅니다. 자세한 내용은 업데이트 스프레드시트를 사용합니다.

이 예에서 SPREADSHEET_IDSHEET_ID 자리표시자는 는 해당 ID를 제공할 위치를 나타냅니다. 스프레드시트 ID를 입력합니다. 얻을 수 있는 혜택 시트 IDspreadsheets.get 메서드를 사용하여 지도 가장자리에 패딩을 추가할 수 있습니다. 이 A1 표기법을 사용하여 범위를 지정합니다. 예시 범위는 Sheet1!A1:D5입니다.

위의 비디오에서는 다양한 방법으로 스프레드시트 셀 서식을 지정하는 방법을 배웁니다. 여기에는 고정된 행 만들기, 셀을 굵게 표시, 통화 구현 등이 포함됩니다. 서식 지정, 셀 유효성 검사 수행, 셀 값 제한 등입니다.

셀 테두리 수정

다음 spreadsheets.batchUpdate 코드 샘플을 사용하여 UpdateBordersRequest 를 사용하여 A1:F10 범위의 각 셀에 파란 점선의 위쪽과 아래쪽 테두리를 지정합니다. 이 innerHorizontal 필드는 범위 내부에 가로 테두리를 만듭니다. 필드를 생략하면 테두리가 상단에만 추가되고 전체 범위의 맨 아래에 있습니다.

3x3 표로, 각 셀에는 위쪽과 아래쪽의 파선 테두리 테두리가 있습니다.
그림 1. 시트에서 각 셀의 상단 및 하단 파선 테두리의 서식을 지정합니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateBorders": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 6
        },
        "top": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "bottom": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
        "innerHorizontal": {
          "style": "DASHED",
          "width": 1,
          "color": {
            "blue": 1.0
          },
        },
      }
    }
  ]
}

헤더 행 서식 지정

다음 spreadsheets.batchUpdate 코드 샘플을 사용하여 RepeatCellRequest 시트의 헤더 행의 서식을 지정합니다. 첫 번째 요청은 텍스트 색상을 업데이트하고, 배경 색상, 텍스트 글꼴 크기, 텍스트 정렬을 조정하여 텍스트를 굵게 표시합니다. range 필드에서 열 색인을 생략하면 행을 포맷합니다. 두 번째 요청은 헤더 행이 고정되었습니다.

시트에 서식이 지정된 헤더 행이 있는 3x3 표입니다.
그림 2. 시트의 헤더 행 서식을 지정합니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "backgroundColor": {
              "red": 0.0,
              "green": 0.0,
              "blue": 0.0
            },
            "horizontalAlignment" : "CENTER",
            "textFormat": {
              "foregroundColor": {
                "red": 1.0,
                "green": 1.0,
                "blue": 1.0
              },
              "fontSize": 12,
              "bold": true
            }
          }
        },
        "fields": "userEnteredFormat(backgroundColor,textFormat,horizontalAlignment)"
      }
    },
    {
      "updateSheetProperties": {
        "properties": {
          "sheetId": SHEET_ID,
          "gridProperties": {
            "frozenRowCount": 1
          }
        },
        "fields": "gridProperties.frozenRowCount"
      }
    }
  ]
}

셀 병합

다음 spreadsheets.batchUpdate 코드 샘플을 사용하여 MergeCellsRequest 셀을 병합하세요. 첫 번째 요청은 A1:B2 범위를 단일 셀로 병합합니다. 이 두 번째 요청은 A3:B6의 열을 병합하고 행은 그대로 둡니다.

시트에 병합된 셀이 있는 3x3 표입니다.
그림 3. 시트에서 셀을 병합합니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 2,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_ALL"
      }
    },
    {
      "mergeCells": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 2,
          "endRowIndex": 6,
          "startColumnIndex": 0,
          "endColumnIndex": 2
        },
        "mergeType": "MERGE_COLUMNS"
      }
    },
  ]
}

범위의 맞춤 날짜/시간 또는 십진수 형식 설정

다음 spreadsheets.batchUpdate 코드 샘플을 사용하여 RepeatCellRequest 맞춤 날짜/시간 및 숫자 서식을 갖도록 셀을 업데이트합니다. 첫 번째 요청은 이 경우 A1:A10 범위의 셀에 맞춤 날짜/시간 형식 hh:mm:ss am/pm, ddd mmm dd yyyy을 제공합니다. 이 형식의 날짜/시간 예는 '02:05:07 PM, Sun Apr 03 2016')

두 번째 요청은 B1:B10의 셀에 맞춤 숫자 형식을 지정합니다. #,##0.0000 - 숫자를 쉼표로 그룹화해야 함을 나타냅니다. 구분자(예: 소수점 아래 4자리)가 있어야 하고 선행 0 1개를 삭제해야 합니다. 예를 들어 숫자 '3.14' 렌더링됩니다. '3.1400', '12345.12345'로 표시됩니다. '12,345.1235'로 렌더링됩니다.

맞춤 날짜/시간 및 숫자 형식이 포함된 3x3 테이블입니다.
그림 4. 시트에서 맞춤 날짜/시간 및 숫자 형식을 사용하도록 셀을 업데이트합니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 0,
          "endColumnIndex": 1
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "DATE",
              "pattern": "hh:mm:ss am/pm, ddd mmm dd yyyy"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    },
    {
      "repeatCell": {
        "range": {
          "sheetId": SHEET_ID,
          "startRowIndex": 0,
          "endRowIndex": 10,
          "startColumnIndex": 1,
          "endColumnIndex": 2
        },
        "cell": {
          "userEnteredFormat": {
            "numberFormat": {
              "type": "NUMBER",
              "pattern": "#,##0.0000"
            }
          }
        },
        "fields": "userEnteredFormat.numberFormat"
      }
    }
  ]
}