Com a API Google Sheets, você pode manipular os dados de uma planilha de várias maneiras. A maioria das funcionalidades disponíveis para usuários que trabalham com a interface das Planilhas também é possível com a API Sheets. Os exemplos nesta página ilustram como realizar algumas operações comuns de planilha com a API Sheets.
Esses exemplos são apresentados na forma de solicitações HTTP para serem neutros em termos de linguagem. Para saber como implementar uma atualização em lote em diferentes idiomas usando as bibliotecas do cliente da Google API, consulte Atualizar planilhas.
Nesses exemplos, os marcadores de posição SPREADSHEET_ID
e SHEET_ID
indicam onde você deve fornecer 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 é Sheet1!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.
Confira o protocolo da solicitação 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
a seguir mostra como usar
CopyPasteRequest
para copiar a formatação apenas no intervalo A1:D10 e colá-la no intervalo F1:I10
na mesma página. 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 não são alterados.
Confira o protocolo da solicitação 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ções e mesclagens no
intervalo F1:I10 na mesma página. O conteúdo original das células do intervalo de origem é
removido.
Confira o protocolo da solicitação 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" } } ] }
Repita 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
é incrementado automaticamente para cada linha e coluna do intervalo, começando pela
célula do canto superior esquerdo. 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())
.
Confira o protocolo da solicitação 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.
Confira o protocolo da solicitação 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"
}
]
}
}
]
}