Табличные операции

API Google Slides позволяет создавать и редактировать таблицы на страницах. В примерах на этой странице показаны некоторые распространенные операции с таблицами с использованием presentations.batchUpdate .

В этих примерах используются следующие переменные:

Эти примеры представлены в виде HTTP-запросов, которые не зависят от языка. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. раздел Добавление фигур и текста .

Создать таблицу

В следующем примере presentations.batchUpdate показано, как использовать метод CreateTableRequest для добавления таблицы на слайд, указанный PAGE_ID .

Эта таблица имеет восемь строк и пять столбцов. Обратите внимание, что API Slides игнорирует любые поля size или transform предоставленные как часть elementProperties . Вместо этого 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 . И rowIndex , и columnIndex внутри cellLocation начинаются с нуля.

Ниже приведен протокол запроса на удаление строк или столбцов таблицы:

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 , чтобы заменить его новым текстом «Кенгуру».

Таблица определяется TABLE_ID . Пораженная ячейка находится в пятой строке и третьем столбце. И rowIndex , и columnIndex внутри cellLocation начинаются с нуля.

Ниже приведен протокол запроса на редактирование данных таблицы:

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 для форматирования строки заголовка элемента таблицы в пределах tableRange , указанного TABLE_ID . Затем он использует метод TableCellProperties , чтобы установить черный цвет фона строки заголовка.

Каждый следующий запрос использует метод UpdateTextStyleRequest чтобы установить текстовый формат в одной ячейке строки заголовка — жирный белый шрифт Cambria размером 18 пунктов в textRange . Затем вам необходимо повторить этот запрос для каждой дополнительной ячейки в заголовке.

И rowIndex , и columnIndex в location и cellLocation начинаются с нуля.

Ниже приведен протокол запроса для форматирования строки заголовка таблицы:

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 . И rowIndex , и columnIndex внутри cellLocation начинаются с нуля.

Ниже приведен протокол запроса на вставку строк или столбцов таблицы:

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
      }
    }
  ]
}