Operaciones con tablas

La API de Google Slides te permite crear y editar tablas en las páginas. En los ejemplos de esta página, se muestran algunas operaciones comunes de tablas con el presentations.batchUpdate método.

En estos ejemplos, se usan las siguientes variables:

  • PRESENTATION_ID: Indica dónde proporcionas el ID de la presentación. Puedes descubrir el valor de este ID en la URL de la presentación.
  • PAGE_ID: Indica dónde proporcionas los IDs de objeto de la página. Puedes recuperar el valor de este parámetro desde la URL o con una solicitud de lectura de la API.
  • TABLE_ID: Indica dónde proporcionas el ID de objeto del elemento de página para una tabla con la que estás trabajando. Puedes especificar este ID para los elementos que creas (con algunas restricciones) o permitir que la API de Slides cree uno automáticamente. Los IDs de los elementos se pueden recuperar a través de una solicitud de lectura de la API.

Estos ejemplos se presentan como solicitudes HTTP para que sean independientes del lenguaje. Para obtener información sobre cómo implementar una actualización por lotes en diferentes lenguajes con las bibliotecas cliente de la API de Google, consulta Cómo agregar formas y texto.

Crea una tabla

En el siguiente presentations.batchUpdate muestra de código, se muestra cómo usar el método CreateTableRequest para agregar una tabla a una diapositiva especificada por PAGE_ID.

Esta tabla tiene ocho filas y cinco columnas. Ten en cuenta que la API de Slides ignora cualquier size o transform campo que se proporcione como parte de elementProperties. En cambio, la API crea una tabla que está aproximadamente centrada en la diapositiva y tiene el tamaño adecuado para alojar la cantidad especificada de filas y columnas, si es posible.

El siguiente es el protocolo de solicitud para crear una tabla:

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

Borra filas o columnas de la tabla

En el siguiente presentations.batchUpdate ejemplo de código, se muestra cómo usar el método DeleteTableRowRequest para quitar la sexta fila. Luego, se usa el DeleteTableColumnRequest método para quitar la cuarta columna. La tabla se especifica con el TABLE_ID. Tanto rowIndex como columnIndex dentro de cellLocation se basan en cero.

El siguiente es el protocolo de solicitud para borrar filas o columnas de la tabla:

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

Edita los datos de la tabla

En el siguiente presentations.batchUpdate ejemplo de código, se muestra cómo usar el método DeleteTextRequest para quitar todo el texto de una celda dentro de textRange. Luego, se usa el InsertTextRequest método para reemplazarlo por el texto nuevo de "Kangaroo".

La tabla se especifica con TABLE_ID. La celda afectada está en la quinta fila y la tercera columna. Tanto rowIndex como columnIndex dentro de cellLocation se basan en cero.

El siguiente es el protocolo de solicitud para editar los datos de la tabla:

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

Da formato a una fila de encabezado de tabla

En el siguiente presentations.batchUpdate muestra de código, se muestra cómo usar el método UpdateTableCellPropertiesRequest para dar formato a la fila de encabezado de un elemento de tabla, dentro de tableRange, especificado por TABLE_ID. Luego, se usa el TableCellProperties método para establecer el color de fondo de la fila de encabezado en negro.

Cada solicitud siguiente usa el UpdateTextStyleRequest método para establecer el formato de texto en una celda de la fila de encabezado en negrita, fuente Cambria blanca de 18 ptos dentro de textRange. Luego, debes repetir esta solicitud para cada celda adicional del encabezado.

Tanto rowIndex como columnIndex dentro de location y cellLocation se basan en cero.

El siguiente es el protocolo de solicitud para dar formato a una fila de encabezado de tabla:

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

Así se ve la fila de encabezado con formato después de estas actualizaciones:

Ejemplo de resultado de la fila de encabezado de formato

Inserta filas o columnas de la tabla

En el siguiente presentations.batchUpdate muestra de código, se muestra cómo usar el método InsertTableRowsRequest para agregar tres filas debajo de la sexta fila. Luego, se usa el InsertTableColumnsRequest método para agregar dos columnas a la izquierda de la cuarta columna de la misma tabla.

La tabla se especifica con TABLE_ID. Tanto rowIndex como columnIndex dentro de cellLocation se basan en cero.

El siguiente es el protocolo de solicitud para insertar filas o columnas de la tabla:

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