Google Slides API를 사용하면 페이지에서 표를 만들고 수정할 수 있습니다. 이 페이지의 예에서는 presentations.batchUpdate 메서드를 사용하여 일반적인 테이블 작업을 보여줍니다.
이 예시에서는 다음 변수를 사용합니다.
- PRESENTATION_ID: 프레젠테이션 ID를 제공하는 위치를 나타냅니다. 프레젠테이션 URL에서 이 ID의 값을 확인할 수 있습니다.
- PAGE_ID: 페이지 객체 ID를 제공하는 위치를 나타냅니다. URL에서 또는 API 읽기 요청을 사용하여 이 값을 가져올 수 있습니다.
- TABLE_ID: 작업 중인 표의 페이지 요소 객체 ID를 제공하는 위치를 나타냅니다. 만드는 요소에 이 ID를 지정하거나(일부 제한사항 있음) Slides API에서 자동으로 만들도록 허용할 수 있습니다. 요소 ID는 API 읽기 요청을 통해 가져올 수 있습니다.
이 예는 언어에 구애받지 않는 HTTP 요청으로 표시됩니다. Google API 클라이언트 라이브러리를 사용하여 여러 언어로 일괄 업데이트를 구현하는 방법을 알아보려면 도형 및 텍스트 추가를 참고하세요.
테이블 만들기
다음 presentations.batchUpdate 코드 샘플은 CreateTableRequest 메서드를 사용하여 PAGE_ID로 지정된 슬라이드에 표를 추가하는 방법을 보여줍니다.
이 표에는 8개의 행과 5개의 열이 있습니다. Slides API는 elementProperties의 일부로 제공되는 size 또는 transform 필드를 무시합니다.
대신 API는 슬라이드 중앙에 대략적으로 위치하고 지정된 행과 열 수를 수용할 수 있는 크기의 표를 만듭니다(가능한 경우).
다음은 테이블을 만드는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createTable": {
"objectId": TABLE_ID,
"elementProperties": {
"pageObjectId": PAGE_ID,
},
"rows": 8,
"columns": 5
}
}
]
}표 행 또는 열 삭제
다음 presentations.batchUpdate 코드 샘플은 DeleteTableRowRequest 메서드를 사용하여 여섯 번째 행을 삭제하는 방법을 보여줍니다. 그런 다음 DeleteTableColumnRequest 메서드를 사용하여 네 번째 열을 삭제합니다. 표는 TABLE_ID로 지정됩니다. cellLocation 내의 rowIndex와 columnIndex은 모두 0부터 시작합니다.
다음은 테이블 행 또는 열을 삭제하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteTableRow": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"rowIndex": 5
}
}
},
{
"deleteTableColumn": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"columnIndex": 3
}
}
}
]
}표 데이터 수정
다음 presentations.batchUpdate 코드 샘플은 DeleteTextRequest 메서드를 사용하여 textRange 내의 셀에서 모든 텍스트를 삭제하는 방법을 보여줍니다. 그런 다음 InsertTextRequest 메서드를 사용하여 'Kangaroo'라는 새 텍스트로 바꿉니다.
테이블은 TABLE_ID로 지정됩니다. 영향을 받는 셀은 다섯 번째 행과 세 번째 열에 있습니다. cellLocation 내의 rowIndex와 columnIndex은 모두 0부터 시작합니다.
다음은 테이블 데이터를 수정하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "textRange": { "type": "ALL", } } }, { "insertText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "text": "Kangaroo", "insertionIndex": 0 } } ] }
표 헤더 행 서식 지정
다음 presentations.batchUpdate 코드 샘플은 TABLE_ID로 지정된 tableRange 내에서 UpdateTableCellPropertiesRequest 메서드를 사용하여 표 요소의 헤더 행을 서식 지정하는 방법을 보여줍니다. 그런 다음 TableCellProperties 메서드를 사용하여 헤더 행의 배경색을 검은색으로 설정합니다.
각 후속 요청은 UpdateTextStyleRequest 메서드를 사용하여 헤더 행의 한 셀에 있는 텍스트 형식을 textRange 내에서 굵은 흰색 18포인트 Cambria 글꼴로 설정합니다. 그런 다음 헤더의 각 추가 셀에 대해 이 요청을 반복해야 합니다.
location 및 cellLocation 내의 rowIndex와 columnIndex은 모두 0부터 시작합니다.
다음은 표 헤더 행의 형식을 지정하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTableCellProperties": { "objectId": TABLE_ID, "tableRange": { "location": { "rowIndex": 0, "columnIndex": 0 }, "rowSpan": 1, "columnSpan": 3 }, "tableCellProperties": { "tableCellBackgroundFill": { "solidFill": { "color": { "rgbColor": { "red": 0.0, "green": 0.0, "blue": 0.0 } } } } }, "fields": "tableCellBackgroundFill.solidFill.color" } }, { "updateTextStyle": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 0, "columnIndex": 0 }, "style": { "foregroundColor": { "opaqueColor": { "rgbColor": { "red": 1.0, "green": 1.0, "blue": 1.0 } } }, "bold": true, "fontFamily": "Cambria", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" }, "fields": "foregroundColor,bold,fontFamily,fontSize" } }, // Repeat the above request for each additional cell in the header row.... ] }
업데이트 후 서식이 지정된 헤더 행은 다음과 같습니다.

표 행 또는 열 삽입
다음 presentations.batchUpdate 코드 샘플은 InsertTableRowsRequest 메서드를 사용하여 여섯 번째 행 아래에 세 개의 행을 추가하는 방법을 보여줍니다. 그런 다음 InsertTableColumnsRequest 메서드를 사용하여 동일한 표의 네 번째 열 왼쪽에 두 개의 열을 추가합니다.
테이블은 TABLE_ID로 지정됩니다. cellLocation 내의 rowIndex와 columnIndex은 모두 0부터 시작합니다.
다음은 테이블 행 또는 열을 삽입하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"insertTableRows": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"rowIndex": 5
},
"insertBelow": true,
"number": 3
}
},
{
"insertTableColumns": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"columnIndex": 3
},
"insertRight": false,
"number": 2
}
}
]
}