Operações de dados

A API Google Sheets permite manipular dados em planilhas de várias maneiras. A maioria das funcionalidades disponíveis para usuários que trabalham com a interface do Sheets também pode ser feita 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 relação à linguagem. Para saber como implementar uma atualização em lote em diferentes linguagens 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. Para receber o ID da planilha, use o spreadsheets.get método. Os intervalos são especificados usando a notação A1. Um exemplo de intervalo é Sheet1!A1:D5.

Aplicar 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 a seguir mostra como usar o CopyPasteRequest para copiar a formatação apenas no intervalo A1:D10 e colá-la no intervalo F1:I10 na mesma planilha. O método usa a PasteType enum 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 a seguir mostra como usar o CutPasteRequest.spreadsheets.batchUpdate Ele corta o intervalo A1:D10 e usa a PasteType enumeração com PASTE_NORMAL para colar os valores, fórmulas, formatação e mesclagens no intervalo F1:I10 na mesma planilha. O conteúdo original da célula de intervalo de origem é 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 a seguir mostra como usar o para copiar a fórmula =FLOOR(A1*PI()) para o intervalo B1:D10.spreadsheets.batchUpdateRepeatCellRequest O intervalo da fórmula é incrementado 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 a seguir spreadsheets.batchUpdate mostra como usar 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"
          }
        ]
      }
    }
  ]
}