Operações de tabela

Com a API Google Slides, você pode criar e editar tabelas em páginas. Os exemplos nesta página mostram algumas operações de tabela comuns usando o método presentations.batchUpdate.

Esses exemplos usam as seguintes variáveis:

  • PRESENTATION_ID: indica onde você fornece o ID da apresentação. Você pode descobrir o valor desse ID no URL de apresentação.
  • PAGE_ID: indica onde você fornece os IDs de objeto da página. Recupere o valor disso no URL ou com uma solicitação de leitura da API.
  • TABLE_ID: indica onde você fornece o ID de objeto do elemento de página para uma tabela com que está trabalhando. É possível especificar esse ID para elementos criados (com algumas restrições) ou permitir que a API Slides crie um automaticamente. Os IDs de elementos podem ser recuperados com uma solicitação de leitura da API.

Esses exemplos são apresentados como solicitações HTTP para serem neutros em relação à linguagem. Para saber como implementar uma atualização em lote em linguagens diferentes usando as bibliotecas de cliente da API do Google, consulte Adicionar formas e texto.

Criar uma tabela

O exemplo de código presentations.batchUpdate a seguir mostra como usar o método CreateTableRequest para adicionar uma tabela a um slide especificado por PAGE_ID.

Esta tabela tem oito linhas e cinco colunas. A API Slides ignora todos os campos size ou transform fornecidos como parte da elementProperties. Em vez disso, a API cria uma tabela aproximadamente centralizada no slide e dimensionada para acomodar o número especificado de linhas e colunas, se possível.

Veja a seguir o protocolo de solicitação para criar uma tabela:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createTable": {
        "objectId": TABLE_ID,
        "elementProperties": {
          "pageObjectId": PAGE_ID,
        },
        "rows": 8,
        "columns": 5
      }
    }
  ]
}

Excluir linhas ou colunas da tabela

O exemplo de código presentations.batchUpdate abaixo mostra como usar o método DeleteTableRowRequest para remover a sexta linha. Em seguida, ela usa o método DeleteTableColumnRequest para remover a quarta coluna. A tabela é especificada pelo TABLE_ID. Tanto rowIndex quanto columnIndex no cellLocation são baseados em zero.

Veja a seguir o protocolo de solicitação para excluir linhas ou colunas da tabela:

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

Editar dados da tabela

O exemplo de código presentations.batchUpdate a seguir mostra como usar o método DeleteTextRequest para remover todo o texto de uma célula no textRange. Em seguida, ele usa o método InsertTextRequest para substituí-lo pelo novo texto de "Kangaroo".

A tabela é especificada pelo TABLE_ID. A célula afetada está na quinta linha e terceira coluna. Tanto o rowIndex quanto o columnIndex no cellLocation são baseados em zero.

Veja a seguir o protocolo de solicitação para editar dados de tabelas:

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

Formatar uma linha de cabeçalho de tabela

O exemplo de código presentations.batchUpdate a seguir mostra como usar o método UpdateTableCellPropertiesRequest para formatar a linha do cabeçalho de um elemento da tabela, no tableRange, especificado pelo TABLE_ID. Em seguida, ele usa o método TableCellProperties para definir a cor do plano de fundo da linha do cabeçalho como preto.

Cada solicitação a seguir usa o método UpdateTextStyleRequest para definir o formato de texto em uma célula da linha do cabeçalho como negrito, branca de 18 pt fonte Cambria dentro de textRange. Em seguida, repita essa solicitação para cada célula adicional no cabeçalho.

Tanto rowIndex quanto columnIndex no location e cellLocation se baseiam em zero.

Veja a seguir o protocolo de solicitação para formatar uma linha de cabeçalho de tabela:

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

Veja como a linha do cabeçalho formatada ficará depois dessas atualizações:

Formatar o resultado da receita da linha do cabeçalho.

Inserir linhas ou colunas da tabela

O exemplo de código presentations.batchUpdate a seguir mostra como usar o método InsertTableRowsRequest para adicionar três linhas abaixo da sexta linha. Em seguida, ela usa o método InsertTableColumnsRequest para adicionar duas colunas à esquerda da quarta coluna na mesma tabela.

A tabela é especificada pelo TABLE_ID. Tanto o rowIndex quanto o columnIndex no cellLocation são baseados em zero.

Veja a seguir o protocolo de solicitação para inserir linhas ou colunas da tabela:

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