A API Google Sheets permite manipular dados em planilhas de várias maneiras. A maioria das funcionalidades disponíveis para os usuários que trabalham com a interface do Planilhas também pode ser usada com a API Sheets. Os exemplos desta página ilustram como realizar algumas operações comuns de planilhas com a API Sheets.
Esses exemplos são apresentados na forma de solicitações HTTP para serem neutros em línguagem. Para saber como implementar uma atualização em lote em diferentes idiomas usando as bibliotecas de cliente da API Google, consulte Atualizar planilhas.
Nesses exemplos, os marcadores de posição SPREADSHEET_ID
e SHEET_ID
indicam onde você forneceria esses IDs. Você pode encontrar o ID da planilha no URL dela. Você pode conferir o
ID da planilha usando o método
spreadsheets.get
. Os
intervalos são especificados usando a notação A1. Um exemplo de intervalo é Planilha1!A1:D5.
Aplicar a validação de dados a um intervalo
O exemplo de código
spreadsheets.batchUpdate
a seguir mostra como usar o
SetDataValidationRequest
para aplicar uma regra de validação de dados, em que "value > 5", a cada célula no intervalo A1:D10.
O protocolo de solicitação é mostrado abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"setDataValidation": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"rule": {
"condition": {
"type": "NUMBER_GREATER",
"values": [
{
"userEnteredValue": "5"
}
]
},
"inputMessage": "Value must be > 5",
"strict": true
}
}
}
]
}
Copiar e colar a formatação de células
O exemplo de código
spreadsheets.batchUpdate
abaixo mostra como usar o
CopyPasteRequest
para copiar a formatação apenas no intervalo A1:D10 e colar no intervalo F1:I10
na mesma planilha. O método usa o tipo enumerado
PasteType
com PASTE_FORMAT
para colar apenas a formatação e a validação de dados. Os
valores originais em A1:D10 permanecem inalterados.
O protocolo de solicitação é mostrado abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "copyPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 5, "endColumnIndex": 9 }, "pasteType": "PASTE_FORMAT", "pasteOrientation": "NORMAL" } } ] }
Recortar e colar células
O exemplo de código
spreadsheets.batchUpdate
abaixo mostra como usar o
CutPasteRequest
.
Ele corta o intervalo A1:D10 e usa a enumeração
PasteType
com PASTE_NORMAL
para colar os valores, fórmulas, formatação e mesclagens no
intervalo F1:I10 na mesma planilha. O conteúdo da célula da faixa de origem original é
removido.
O protocolo de solicitação é mostrado abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{ "requests": [ { "cutPaste": { "source": { "sheetId":SHEET_ID
, "startRowIndex": 0, "endRowIndex": 10, "startColumnIndex": 0, "endColumnIndex": 4 }, "destination": { "sheetId":SHEET_ID
, "rowIndex": 0, "columnIndex": 5 }, "pasteType": "PASTE_NORMAL" } } ] }
Repetir uma fórmula em um intervalo
O exemplo de código
spreadsheets.batchUpdate
abaixo mostra como usar o
RepeatCellRequest
para copiar a fórmula =FLOOR(A1*PI())
para o intervalo B1:D10. O intervalo da fórmula
aumenta automaticamente para cada linha e coluna no intervalo, começando pela
célula superior esquerda. Por exemplo, a célula B1 tem a fórmula =FLOOR(A1*PI())
, enquanto
a célula D6 tem a fórmula =FLOOR(C6*PI())
.
O protocolo de solicitação é mostrado abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"repeatCell": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 1,
"endColumnIndex": 4
},
"cell": {
"userEnteredValue": {
"formulaValue": "=FLOOR(A1*PI())"
}
},
"fields": "userEnteredValue"
}
}
]
}
Classificar um intervalo com várias especificações de classificação
O exemplo de código
spreadsheets.batchUpdate
abaixo mostra como usar a função
SortRangeRequest
para classificar o intervalo A1:D10, primeiro pela coluna B em ordem crescente, depois pela coluna C
em ordem decrescente e, por fim, pela coluna D em ordem decrescente.
O protocolo de solicitação é mostrado abaixo.
POST https://sheets.googleapis.com/v4/spreadsheets/SPREADSHEET_ID
:batchUpdate
{
"requests": [
{
"sortRange": {
"range": {
"sheetId": SHEET_ID
,
"startRowIndex": 0,
"endRowIndex": 10,
"startColumnIndex": 0,
"endColumnIndex": 4
},
"sortSpecs": [
{
"dimensionIndex": 1,
"sortOrder": "ASCENDING"
},
{
"dimensionIndex": 2,
"sortOrder": "DESCENDING"
},
{
"dimensionIndex": 3,
"sortOrder": "DESCENDING"
}
]
}
}
]
}