기본 쓰기

Google Sheets API를 사용하면 셀, 범위 및 셀에 값과 수식을 쓸 수 있습니다. 범위 집합 및 전체 시트를 포함할 수 있습니다. 이 페이지의 예제는 일반적인 쓰기 작업은 spreadsheets.values 드림 Sheets API의 리소스에 액세스할 수 있습니다.

또한 spreadsheet.batchUpdate 드림 이 메서드는 셀 서식을 동시에 업데이트하려는 경우에 유용할 수 있습니다. 기타 속성을 spreadsheets.values 영향을 미치지 않습니다 예를 들어, 셀 범위를 복사하려는 경우 셀 수식과 셀을 모두 덮어쓰면서 한 시트를 다른 시트로 형식을 지정하는 경우 UpdateCellsRequest 드림 메서드를 spreadsheet.batchUpdate입니다.

그러나 간단한 값 쓰기의 경우 spreadsheets.values.update 드림 메서드 또는 spreadsheets.values.batchUpdate 메서드를 사용하여 축소하도록 요청합니다.

이 예는 언어적 표현인 HTTP 요청의 형식으로 중립적입니다. 다음을 사용하여 다양한 언어로 쓰기를 구현하는 방법을 알아봅니다. 자세한 내용은 읽기 및 셀 쓰기 값을 참조하세요.

다음 예에서 자리표시자 SPREADSHEET_ID는 여기에서 ID를 제공하며 스프레드시트 URL입니다. 쓸 범위는 A1을 사용하여 지정합니다. 표기법을 사용합니다. 예시 범위는 Sheet1!A1:D5입니다.

단일 범위 작성

새 빈 스프레드시트로 시작하여 spreadsheets.values.update 드림 값을 범위에 쓰는 방법을 보여줍니다. 이 ValueInputOption 쿼리 매개변수가 필요하며 작성된 값이 파싱되는지 여부( 예를 들어 문자열이 날짜로 변환되는지 여부).

요청 본문은 ValueRange 드림 작성할 범위 값을 설명하는 객체입니다. 이 majorDimension 필드 는 배열이 행으로 구성된 값 목록임을 나타냅니다. 기존 값 덮어쓰게 됩니다

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:D5?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:D5",
  "majorDimension": "ROWS",
  "values": [
    ["Item", "Cost", "Stocked", "Ship Date"],
    ["Wheel", "$20.50", "4", "3/1/2016"],
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
    ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
  ],
}

응답은 UpdateValuesResponse 드림 객체를 다음과 같이 정의합니다.

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:D5",
  "updatedRows": 5,
  "updatedColumns": 4,
  "updatedCells": 20,
}

결과 시트는 다음과 같습니다.

A B C D
1 항목 비용 재고 있음 배송 날짜
2 20.50달러 4 2016년 3월 1일
3 $15 2 2016년 3월 15일
4 엔진 $100 1 2016년 3월 20일
5 총계 135.5달러 7 2016년 3월 20일

범위에 선택적으로 쓰기

값을 범위에 쓸 때 기존 셀에 대응하는 배열 요소를 null로 설정하면 됩니다. 또한 빈 문자열 ("")을 작성하여 셀을 지울 수 있습니다.

위의 에서 생성된 것과 동일한 데이터가 포함된 시트로 시작합니다. 예를 들어 다음과 같습니다. spreadsheets.values.update 선택적으로 B1:D4 범위에 값을 쓰는 방법을 보여주는 코드 샘플 일부 셀은 변경하지 않고 나머지는 지웁니다. 이 ValueInputOption 쿼리 매개변수가 필요하며 작성된 값이 파싱되는지 여부( 예를 들어 문자열이 날짜로 변환되는지 여부).

요청 본문은 ValueRange 드림 작성할 범위 값을 설명하는 객체입니다. 이 majorDimension 필드 는 배열이 열별로 구성된 값 목록임을 나타냅니다.

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!B1?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!B1",
  "majorDimension": "COLUMNS",
  "values": [
    [null,"$1","$2", ""],
    [],
    [null,"4/1/2016", "4/15/2016", ""]
  ]
}

values 입력란에는 범위의 각 열에 대한 변경사항이 나열됩니다. 이 첫 번째 배열은 null 배열로 인해 B1을 변경하지 않고 그대로 두어야 함을 나타냅니다. 요소), B4는 지워져야 합니다 (빈 문자열). B2와 B3는 각각의 값을 가지고 있습니다. 이(가) 업데이트되었습니다. 세 번째 배열은 D열에 대해 동일한 연산을 수행하지만 두 번째 빈 배열은 열 C가 변경되지 않아야 함을 나타냅니다.

응답은 UpdateValuesResponse 드림 객체를 다음과 같이 지정할 수 있습니다.

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!B1:D5",
  "updatedRows": 3,
  "updatedColumns": 2,
  "updatedCells": 6,
}

결과 시트는 다음과 같습니다.

A B C D
1 항목 비용 재고 있음 배송 날짜
2 $1.00 4 2016년 4월 1일
3 $2 2 2016년 4월 15일
4 엔진 1
5 총계 $3.00 7 2016년 4월 15일

참고로 'Totals'는 행은 이 요청에서 직접 변경되지 않지만 셀에 변경된 셀에 종속된 수식이 포함되어 있기 때문입니다.

여러 범위에 쓰기

빈 시트로 시작하여 spreadsheets.values.batchUpdate 드림 Sheet1!A1:A4 및 Sheet1!B1:D2입니다. 목표 범위에 있는 기존 값을 덮어씁니다. 요청 몸체는 ValueInputOption 객체를 입력 데이터와 입력 문장의 배열을 해석하는 방법을 ValueRange 쓰여진 각 범위에 해당하는 객체입니다. 이 majorDimension 필드 포함된 배열이 열 또는 행의 배열로 해석되는지 여부를 결정합니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values:batchUpdate
{
  "valueInputOption": "VALUE_INPUT_OPTION",
  "data": [
    {
      "range": "Sheet1!A1:A4",
      "majorDimension": "COLUMNS",
      "values": [
        ["Item", "Wheel", "Door", "Engine"]
      ]
    },
    {
      "range": "Sheet1!B1:D2",
      "majorDimension": "ROWS",
      "values": [
        ["Cost", "Stocked", "Ship Date"],
        ["$20.50", "4", "3/1/2016"]
      ]
    }
  ]
}

응답은 업데이트된 셀 통계를 나열하는 객체로 구성됩니다. 및 UpdateValuesResponse 드림 업데이트된 각 범위에 대해 하나씩 생성됩니다. 예를 들면 다음과 같습니다.

{
  "spreadsheetId": SPREADSHEET_ID,
  "totalUpdatedRows": 4,
  "totalUpdatedColumns": 4,
  "totalUpdatedCells": 10,
  "totalUpdatedSheets": 1,
  "responses": [
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!A1:A4",
      "updatedRows": 4,
      "updatedColumns": 1,
      "updatedCells": 4,
    },
    {
      "spreadsheetId": SPREADSHEET_ID,
      "updatedRange": "Sheet1!B1:D2",
      "updatedRows": 2,
      "updatedColumns": 3,
      "updatedCells": 6,
    }
  ],
}

결과 시트는 다음과 같습니다.

A B C D
1 항목 비용 재고 있음 배송 날짜
2 20.50달러 4 2016년 3월 1일
3
4 엔진
5

파싱하지 않고 값 쓰기

빈 시트로 시작하여 spreadsheets.values.update 드림 코드 샘플은 Sheet1!A1:E1 범위에 값을 쓰는 방법을 보여주지만 RAW ValueInputOption 쿼리 매개변수를 사용하여 작성된 문자열이 수식으로 파싱되지 않도록 합니다. 사용할 수 있습니다. 문자열로 표시되며 텍스트 정렬이 조정됩니다. 을 클릭합니다.

요청 본문은 ValueRange 드림 작성할 범위 값을 설명하는 객체입니다. 이 majorDimension 필드 는 배열이 행으로 구성된 값 목록임을 나타냅니다. 기존 값 덮어쓰게 됩니다

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

PUT https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1?valueInputOption=RAW
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Data", 123.45, true, "=MAX(D2:D4)", "10"]
  ],
}

응답은 UpdateValuesResponse 드림 객체를 다음과 같이 지정할 수 있습니다.

{
  "spreadsheetId": SPREADSHEET_ID,
  "updatedRange": "Sheet1!A1:E1",
  "updatedRows": 1,
  "updatedColumns": 5,
  "updatedCells": 5,
}

결과 시트는 다음과 같습니다.

A B C D E
1 데이터 123.45 TRUE =MAX(D2:D4) 10
2

'TRUE' 가 중앙에 위치하고 부울 값인 반면 '123.45'는 맞아요 '10'이라는 숫자이기 때문에 양쪽 맞춤이 왼쪽 정렬되는 이유는 문자열. 수식은 파싱되지 않으며 문자열로도 표시됩니다.

값 추가

아래 표와 같은 시트로 시작합니다.

A B C D
1 항목 비용 재고 있음 배송 날짜
2 20.50달러 4 2016년 3월 1일
3

다음 spreadsheets.values.append 드림 코드 샘플은 행 3부터 시작하는 값의 새 행 두 개를 추가하는 방법을 보여줍니다. 이 ValueInputOption 쿼리 매개변수가 필요하며 작성된 값이 파싱되는지 여부( 예를 들어 문자열이 날짜로 변환되는지 여부).

요청 본문은 ValueRange 드림 작성할 범위 값을 설명하는 객체입니다. 이 majorDimension 필드 는 배열이 행으로 구성된 값 목록임을 나타냅니다.

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

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/values/Sheet1!A1:E1:append?valueInputOption=VALUE_INPUT_OPTION
{
  "range": "Sheet1!A1:E1",
  "majorDimension": "ROWS",
  "values": [
    ["Door", "$15", "2", "3/15/2016"],
    ["Engine", "$100", "1", "3/20/2016"],
  ],
}

응답은 AppendValuesResponse 드림 객체를 다음과 같이 지정할 수 있습니다.

{
  "spreadsheetId": SPREADSHEET_ID,
  "tableRange": "Sheet1!A1:D2",
  "updates": {
    "spreadsheetId": SPREADSHEET_ID,
    "updatedRange": "Sheet1!A3:D4",
    "updatedRows": 2,
    "updatedColumns": 4,
    "updatedCells": 8,
  }
}

결과 시트는 다음과 같습니다.

A B C D
1 항목 비용 재고 있음 배송 날짜
2 20.50달러 4 2016년 3월 1일
3 $15 2 2016년 3월 15일
4 엔진 $100 1 2016년 3월 20일
5