테이블 작업

Google Slides API를 사용하여 페이지에서 표를 만들고 수정할 수 있습니다. 이 페이지의 예시는 presentations.batchUpdate 메서드를 사용하는 몇 가지 일반적인 테이블 작업을 보여줍니다.

이 예에서는 다음 변수를 사용합니다.

  • PRESENTATION_ID - 프레젠테이션 ID를 제공하는 위치를 나타냅니다. 이 ID의 값은 프레젠테이션 URL에서 찾을 수 있습니다.
  • 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로 지정됩니다. 영향을 받은 셀은 다섯 번째 행과 세 번째 열에 있습니다 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 코드 샘플은 TABLE_ID에 의해 지정된 tableRange 내에 UpdateTableCellPropertiesRequest 메서드를 사용하여 테이블 요소의 헤더 행 형식을 지정하는 방법을 보여줍니다. 그런 다음 TableCellProperties 메서드를 사용하여 헤더 행의 배경색을 검은색으로 설정합니다.

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

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 메서드를 사용하여 6번째 행 아래에 3개의 행을 추가하는 방법을 보여줍니다. 그런 다음 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
      }
    }
  ]
}