Com a API Google Sheets, você pode manipular dados de planilhas de várias formas. A maioria das funcionalidades disponíveis para usuários que trabalham com a interface do Planilhas também podem ser usadas com a API Sheets. Os exemplos nesta página mostram como realizar algumas operações comuns de planilha com a API Sheets.
Esses exemplos são apresentados na forma de solicitações HTTP para a linguagem neutra. Para saber como implementar uma atualização em lote em linguagens diferentes usando as bibliotecas de cliente das APIs do Google, consulte Atualizar planilhas.
Nesses exemplos, os marcadores SPREADSHEET_ID
e SHEET_ID
indicam onde você fornece esses IDs. Você pode encontrar o ID da planilha no URL da planilha. Consiga 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 SetDataValidationRequest
para aplicar uma regra de validação de dados, em que "valor > 5", a todas as células no intervalo A1:D10.
O protocolo da 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 da célula
O exemplo de código
spreadsheets.batchUpdate
a seguir mostra como usar
CopyPasteRequest
para copiar a formatação somente 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 permanecem inalterados.
O protocolo da 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
a seguir mostra como usar o
CutPasteRequest
.
Ela recorta o intervalo A1:D10 e usa o
tipo enumerado PasteType
com PASTE_NORMAL
para colar os valores, fórmulas, formatação e mesclagens no
intervalo F1:I10 na mesma página. O conteúdo das células do intervalo de origem original é
removido.
O protocolo da 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
a seguir mostra como usar a
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 no intervalo, começando com a 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 da 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
a seguir mostra como usar
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 da 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"
}
]
}
}
]
}