Operaciones con hojas

La API de Hojas de cálculo de Google te permite crear, borrar, copiar y borrar hojas, además de controlar sus propiedades. En los ejemplos de esta página, se muestra cómo realizar algunas operaciones comunes de Hojas de cálculo con la API de Hojas de cálculo.

Estos ejemplos se presentan en forma de solicitudes HTTP para que tengan lenguaje neutral. Para aprender a implementar una actualización por lotes en diferentes lenguajes mediante las bibliotecas cliente de la API de Google, consulta Cómo actualizar hojas de cálculo.

En estos ejemplos, los marcadores de posición SPREADSHEET_ID y SHEET_ID indican dónde deberías proporcionar esos ID. Puedes encontrar el ID de la hoja de cálculo en la URL de la hoja de cálculo. Para obtener el ID de la hoja, puedes usar el método spreadsheets.get. Los rangos se especifican con la notación A1. Un rango de ejemplo es Sheet1!A1:D5.

Agregar una hoja

En la siguiente muestra de código de spreadsheets.batchUpdate, se indica cómo usar AddSheetRequest para agregar una hoja a una hoja de cálculo y, al mismo tiempo, establecer el título, el tamaño de la cuadrícula y el color de la pestaña.

La respuesta consta de una AddSheetResponse, que contiene un objeto con las propiedades de la hoja creada (como su SHEET_ID).

El protocolo de solicitud se muestra a continuación.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "addSheet": {
        "properties": {
          "title": "Deposits",
          "gridProperties": {
            "rowCount": 20,
            "columnCount": 12
          },
          "tabColor": {
            "red": 1.0,
            "green": 0.3,
            "blue": 0.4
          }
        }
      }
    }
  ]
}

Borrar todos los valores de una hoja sin perder los formatos

En la siguiente muestra de código spreadsheets.batchUpdate, se indica cómo usar UpdateCellsRequest para quitar todos los valores de una hoja sin modificar el formato.

Si especificas el campo userEnteredValue sin un valor correspondiente, se interpreta como una instrucción para borrar los valores del rango. Este parámetro de configuración también se puede utilizar con otros campos. Por ejemplo, si cambias el valor fields a userEnteredFormat, se quitará de la hoja todo el formato que admite la API de Hojas de cálculo, pero no se modificarán los valores de las celdas.

El protocolo de solicitud se muestra a continuación.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": SHEET_ID
        },
        "fields": "userEnteredValue"
      }
    }
  ]
}

Copiar una hoja de una hoja de cálculo a otra

En la siguiente muestra de código spreadsheet.sheets.copyTo, se indica cómo copiar una hoja única especificada por SHEET_ID de una hoja de cálculo a otra.

La variable TARGET_SPREADSHEET_ID en el cuerpo de la solicitud especifica la hoja de cálculo de destino. La copia conserva todos los valores, el formato, las fórmulas y otras propiedades de la versión original. El título de la hoja copiada se establece en “Copia de [título de la hoja original]”.

La respuesta consta de un objeto SheetProperties que describe las propiedades de la hoja creada.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID/sheets/SHEET_ID:copyTo
{
  "destinationSpreadsheetId": "TARGET_SPREADSHEET_ID"
}

Cómo borrar una hoja

En la siguiente muestra de código spreadsheets.batchUpdate, se indica cómo usar DeleteSheetRequest para borrar una hoja especificada por SHEET_ID.

El protocolo de solicitud se muestra a continuación.

POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID:batchUpdate
{
  "requests": [
    {
      "deleteSheet": {
        "sheetId": SHEET_ID
      }
    }
  ]
}

Leer datos de la hoja

En la siguiente muestra de código spreadsheets.get, se indica cómo obtener información de la propiedad sheet de una hoja de cálculo, especificada por SHEET_ID y SPREADSHEET_ID. A menudo, este método se usa para determinar los metadatos de las hojas dentro de una hoja de cálculo específica, de modo que se puedan realizar operaciones adicionales en esas hojas. El parámetro de consulta fields especifica que solo se deben mostrar los datos de las propiedades de la hoja (en lugar de los datos del valor de la celda o los datos relacionados con toda la hoja de cálculo).

GET https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID?&fields=sheets.properties

La respuesta consta de un recurso Spreadsheet, que contiene un objeto Sheet con elementos SheetProperties. Si un campo de respuesta determinado se establece en el valor predeterminado, se omite de la respuesta.

{
  "sheets": [
    {
      "properties": {
        "sheetId": SHEET_ID,
        "title": "Sheet1",
        "index": 0,
        "sheetType": "GRID",
        "gridProperties": {
          "rowCount": 100,
          "columnCount": 20,
          "frozenRowCount": 1
        }
        "tabColor": {
          "blue": 1.0
        }
      },
      ...
  ],
}