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

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

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

Эти примеры представлены в виде 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       }     }   ] }