Opérations sur la table

L'API Google Slides vous permet de créer et de modifier des tableaux sur des pages. Les exemples de cette page présentent quelques opérations de table courantes effectuées avec la méthode presentations.batchUpdate.

Ces exemples utilisent les variables suivantes:

  • PRESENTATION_ID : indique où vous fournissez l'ID de présentation. Vous pouvez découvrir la valeur de cet ID à partir de l'URL de la présentation.
  • PAGE_ID : indique où vous fournissez les ID d'objet Page. Vous pouvez récupérer la valeur de cet élément à partir de l'URL ou à l'aide d'une requête de lecture d'API.
  • TABLE_ID : indique où vous fournissez l'ID d'objet d'élément de page d'une table avec laquelle vous travaillez. Vous pouvez spécifier cet ID pour les éléments que vous créez (avec certaines restrictions) ou autoriser l'API Slides à en créer un automatiquement. Les ID d'éléments peuvent être récupérés via une requête de lecture de l'API.

Ces exemples sont présentés comme des requêtes HTTP afin de ne pas tenir compte du langage. Pour découvrir comment implémenter une mise à jour par lot dans différents langages à l'aide des bibliothèques clientes des API Google, consultez Ajouter des formes et du texte.

Créer une table

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode CreateTableRequest pour ajouter une table à une diapositive spécifiée par PAGE_ID.

Ce tableau comporte huit lignes et cinq colonnes. Notez que l'API Slides ignore tous les champs size ou transform fournis dans le elementProperties. Au lieu de cela, l'API crée une table à peu près centrée sur la diapositive et dont la taille est adaptée au nombre de lignes et de colonnes spécifié, si possible.

Voici le protocole de requête permettant de créer une table:

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

Supprimer des lignes ou des colonnes d'un tableau

L'exemple de code presentations.batchUpdate suivant montre comment supprimer la sixième ligne à l'aide de la méthode DeleteTableRowRequest. Il utilise ensuite la méthode DeleteTableColumnRequest pour supprimer la quatrième colonne. La table est spécifiée par TABLE_ID. Les valeurs rowIndex et columnIndex de cellLocation sont toutes deux basées sur zéro.

Voici le protocole de requête permettant de supprimer des lignes ou des colonnes d'une table:

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

Modifier les données d'une table

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode DeleteTextRequest pour supprimer tout le texte d'une cellule dans textRange. Il utilise ensuite la méthode InsertTextRequest pour le remplacer par le nouveau texte de "Kangaroo".

La table est spécifiée par TABLE_ID. La cellule affectée se trouve dans la cinquième ligne et la troisième colonne. Les valeurs rowIndex et columnIndex de cellLocation sont toutes deux basées sur zéro.

Voici le protocole de requête permettant de modifier les données d'une table:

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

Mettre en forme une ligne d'en-tête de tableau

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode UpdateTableCellPropertiesRequest pour mettre en forme la ligne d'en-tête d'un élément du tableau, dans le tableRange spécifié par TABLE_ID. Il utilise ensuite la méthode TableCellProperties pour définir la couleur d'arrière-plan de la ligne d'en-tête sur noir.

Chaque requête suivante utilise la méthode UpdateTextStyleRequest pour définir le format de texte d'une cellule de la ligne d'en-tête sur une police Cambria blanche et en gras de 18 pts dans textRange. Vous devez ensuite répéter cette requête pour chaque cellule supplémentaire de l'en-tête.

Les rowIndex et les columnIndex de location et cellLocation sont tous deux basés sur zéro.

Voici le protocole de requête permettant de mettre en forme une ligne d'en-tête de tableau:

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

Voici à quoi ressemble la ligne d'en-tête mise en forme après ces modifications:

Formate le résultat de la recette pour la ligne d'en-tête.

Insérer des lignes ou des colonnes dans un tableau

L'exemple de code presentations.batchUpdate suivant montre comment ajouter trois lignes en dessous de la sixième ligne à l'aide de la méthode InsertTableRowsRequest. Il utilise ensuite la méthode InsertTableColumnsRequest pour ajouter deux colonnes à gauche de la quatrième colonne de la même table.

La table est spécifiée par TABLE_ID. Les valeurs rowIndex et columnIndex de cellLocation sont toutes deux basées sur zéro.

Voici le protocole de requête permettant d'insérer des lignes ou des colonnes de table:

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