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