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 montrent certaines opérations courantes sur les tableaux à l'aide de la méthode.presentations.batchUpdate

Ces exemples utilisent les variables suivantes :

Ces exemples sont présentés sous forme de requêtes HTTP pour être indépendants 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 un tableau à 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 cadre des elementProperties. Au lieu de cela, l'API crée un tableau qui est à peu près centré 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 pour créer un tableau :

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 de tableau

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode DeleteTableRowRequest pour supprimer la sixième ligne. Il utilise ensuite la DeleteTableColumnRequest méthode pour supprimer la quatrième colonne. Le tableau est spécifié par le TABLE_ID. rowIndex et columnIndex dans cellLocation sont tous deux basés sur zéro.

Voici le protocole de requête pour supprimer des lignes ou des colonnes de tableau :

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 du tableau

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

Le tableau est spécifié par le TABLE_ID. La cellule concernée se trouve dans la cinquième ligne et la troisième colonne. rowIndex et columnIndex dans cellLocation sont tous deux basés sur zéro.

Voici le protocole de requête pour modifier les données du tableau :

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 de tableau, dans tableRange, spécifié par TABLE_ID. Il utilise ensuite la TableCellProperties méthode pour définir la couleur d'arrière-plan de la ligne d'en-tête sur noir.

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

rowIndex et columnIndex dans location et cellLocation sont tous deux basés sur zéro.

Voici le protocole de requête pour 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 mises à jour :

Mise en forme de la ligne d'en-tête des résultats de recettes.

Insérer des lignes ou des colonnes de tableau

L'exemple de code presentations.batchUpdate suivant montre comment utiliser la méthode InsertTableRowsRequest pour ajouter trois lignes sous la sixième ligne. Il utilise ensuite la InsertTableColumnsRequest méthode pour ajouter deux colonnes à gauche de la quatrième colonne du même tableau.

Le tableau est spécifié par le TABLE_ID. rowIndex et columnIndex dans cellLocation sont tous deux basés sur zéro.

Voici le protocole de requête pour insérer des lignes ou des colonnes de tableau :

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