API Google Slides позволяет создавать и редактировать таблицы на страницах. В примерах на этой странице показаны некоторые распространенные операции с таблицами с использованием presentations.batchUpdate
.
В этих примерах используются следующие переменные:
- PRESENTATION_ID —Указывает, где вы предоставляете идентификатор презентации . Значение этого идентификатора можно узнать по URL-адресу презентации.
- PAGE_ID —Указывает, где вы предоставляете идентификаторы объектов страницы . Вы можете получить это значение по URL-адресу или с помощью запроса на чтение API.
- TABLE_ID —Указывает, где вы предоставляете идентификатор объекта элемента страницы для таблицы, с которой вы работаете. Вы можете указать этот идентификатор для создаваемых вами элементов (с некоторыми ограничениями ) или разрешить Slides API автоматически создавать его. Идентификаторы элементов можно получить с помощью запроса на чтение API.
Эти примеры представлены в виде 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 } } ] }