La API de Hojas de cálculo de Google te permite crear, borrar, copiar y eliminar hojas, y también controlar sus propiedades. En los ejemplos de esta página, se muestra la forma de 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 neutro. Para aprender a implementar una actualización por lotes en distintos lenguajes con las bibliotecas clientes de la Google API, consulta Cómo actualizar hojas de cálculo.
En estos ejemplos, los marcadores de posición SPREADSHEET_ID
y SHEET_ID
indican dónde debes proporcionar esos IDs. Puedes encontrar el ID de la hoja de cálculo en la URL de la hoja de cálculo. Puedes obtener el ID de la hoja con el método spreadsheets.get
. Los rangos se especifican con la notación A1. Un
rango de ejemplo es Hoja1!A1:D5.
Cómo agregar una hoja
En la siguiente muestra de código de spreadsheets.batchUpdate
, se muestra 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 un AddSheetResponse
, que contiene un objeto con las propiedades de la hoja creada (como su SHEET_ID
).
A continuación, se muestra el protocolo de solicitud.
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 de spreadsheets.batchUpdate
, se muestra cómo usar UpdateCellsRequest
para quitar todos los valores de una hoja y, al mismo tiempo, dejar el formato sin cambios.
Si especificas el campo userEnteredValue
sin un valor correspondiente, se interpretará como una instrucción para borrar los valores del rango. Este parámetro de configuración también se puede usar con otros campos. Por ejemplo, si cambias el valor de fields
a userEnteredFormat
, se quita de la hoja todo el formato compatible con la API de Hojas de cálculo, pero se dejan sin modificar los valores de las celdas.
A continuación, se muestra el protocolo de solicitud.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"updateCells": {
"range": {
"sheetId": SHEET_ID
},
"fields": "userEnteredValue"
}
}
]
}
Cómo copiar una hoja de una hoja de cálculo a otra
En la siguiente muestra de código de spreadsheet.sheets.copyTo
, se muestra cómo copiar una sola hoja 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, formatos, fórmulas y otras propiedades del original. El título de la hoja copiada se establece como “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 de spreadsheets.batchUpdate
, se muestra cómo usar DeleteSheetRequest
para borrar una hoja especificada por SHEET_ID
.
A continuación, se muestra el protocolo de solicitud.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"deleteSheet": {
"sheetId": SHEET_ID
}
}
]
}
Cómo leer datos de una hoja
En la siguiente muestra de código de spreadsheets.get
, se muestra cómo obtener información de la propiedad hoja 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 las operaciones adicionales puedan orientarse a 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 de 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 tiene 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
}
},
...
],
}