Google Slides API를 사용하면 페이지에서 표를 만들고 수정할 수 있습니다. 이 페이지의 예시에서는 presentations.batchUpdate
메서드를 사용한 몇 가지 일반적인 테이블 작업을 보여줍니다.
이 예에서는 다음 변수를 사용합니다.
- PRESENTATION_ID: 프레젠테이션 ID를 입력하는 위치를 나타냅니다. 프레젠테이션 URL에서 이 ID 값을 확인할 수 있습니다.
- PAGE_ID: 페이지 객체 ID를 제공하는 위치를 나타냅니다. 이 값은 URL에서 가져오거나 API 읽기 요청을 사용하여 검색할 수 있습니다.
- TABLE_ID: 작업 중인 테이블의 페이지 요소 객체 ID를 제공하는 위치를 나타냅니다. 생성한 요소에 이 ID를 지정하거나(몇 가지 제한사항) Slides API에서 자동으로 ID를 만들도록 할 수 있습니다. 요소 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
메서드를 사용하여 6번째 행을 삭제하는 방법을 보여줍니다. 그런 다음 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로 지정됩니다. 영향을 받은 셀은 5번째 행과 3번째 열에 있습니다. 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포인트 캄브리아 글꼴로 설정합니다. 그런 다음 헤더의 추가 셀에 이 요청을 반복해야 합니다.
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
메서드를 사용하여 6번째 행 아래에 3개의 행을 추가하는 방법을 보여줍니다. 그런 다음 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 } } ] }