테이블 작업

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 메서드를 사용하여 여섯 번째 행을 삭제하는 방법을 보여줍니다. 그런 다음 DeleteTableColumnRequest 메서드를 사용하여 네 번째 열을 삭제합니다. 테이블은 TABLE_ID로 지정됩니다. cellLocation 내의 rowIndexcolumnIndex는 모두 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 내의 rowIndexcolumnIndex는 모두 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 코드 샘플은 UpdateTableCellPropertiesRequest 메서드를 사용하여 TABLE_ID로 지정된 tableRange 내에서 표 요소의 헤더 행 형식을 지정하는 방법을 보여줍니다. 그런 다음 TableCellProperties 메서드를 사용하여 헤더 행의 배경 색상을 검은색으로 설정합니다.

다음 요청은 각각 UpdateTextStyleRequest 메서드를 사용하여 헤더 행의 한 셀에 있는 텍스트 형식을 textRange 내에서 굵은 흰색 18포인트 Cambria 글꼴로 설정합니다. 그런 다음 헤더의 추가 셀마다 이 요청을 반복해야 합니다.

locationcellLocation 내의 rowIndexcolumnIndex는 모두 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 내의 rowIndexcolumnIndex는 모두 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
      }
    }
  ]
}