Operaciones con tablas

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

En estos ejemplos, se usan las siguientes variables:

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

Estos ejemplos se presentan como solicitudes HTTP para que no tengan idioma. Para aprender a 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 la siguiente muestra de código presentations.batchUpdate, se indica 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 Presentaciones ignora cualquier campo size o transform proporcionado como parte de elementProperties. En cambio, la API crea una tabla que está más o menos centrada en la diapositiva y tiene el tamaño adecuado para adaptarse a 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
      }
    }
  ]
}

Borrar filas o columnas de la tabla

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

A continuación, se muestra 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
        }
      }
    }
  ]
}

Editar datos de la tabla

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

La tabla se especifica mediante TABLE_ID. La celda afectada está en la quinta fila y en 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
      }
    }
  ]
}

Cómo dar formato a la fila de encabezado de una tabla

En la siguiente muestra de código de presentations.batchUpdate, 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, usa el método TableCellProperties para establecer el color de fondo de la fila de encabezado en negro.

Cada solicitud siguiente usa el método UpdateTextStyleRequest para configurar el formato de texto en una celda de la fila de encabezado con la fuente Cambria de color blanco y negrita de 18 pt 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.

A continuación, se muestra 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....
  ]
}

A continuación, se muestra cómo se ve la fila del encabezado con formato después de estas actualizaciones:

Resultado de la receta para dar formato a la fila de encabezado.

Insertar filas o columnas de la tabla

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

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

A continuación, se muestra el protocolo de solicitud para insertar filas o columnas en 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
      }
    }
  ]
}