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