Apps Script: como ler dados do Google Sheets

Foto do autor
Sávio Ribeiro 📅 23/09/2024 18:45
⏱️5 minutos de leitura

Tópicos da publicação

Para automatizar uma tarefa no Google Sheets, é bem provável que você tenha que manipular e fazer a leitura de dados de alguma planilha. Por exemplo, você pode precisar verificar se a célula C2 da página ‘base_de_vendas‘ é igual a um determinado valor. Então, de maneira descomplicada e rápida, vamos te mostrar como lidar com uma das operações mais comuns em automatizar tarefas no Planilhas: a leitura dos dados.

Se você é novo com automações e Google Apps Script, recomendamos que você verifique também o que é e como funciona o GAS.

Vamos ao que interessa!

Apps Script: lendo dados do Google Sheets

  • Acesse a planilha ou o seu projeto do Google Apps Script.
    • Pela planilha, clique no menu superior em Extensões > Apps Script.

Antes de tudo, para ilustrar o cenário que vamos trabalhar, essa é a base de dados de vendas que estamos utilizando:

base de vendas sheets

Logo abaixo, o nosso código base para obter o valor de uma única célula. Não se espante, observe o comentário em cada linha do script para entender o que cada trecho faz.

function lerDados() {

  var planilha = SpreadsheetApp.getActiveSpreadsheet() // aqui nós estamos passando qual planilha deve ser considerada, no caso, a qual estamos "ativos"
  var pagina = planilha.getSheetByName('base_de_vendas') // informo que o dado a ser obtido é exclusivo da página com nome 'base_de_vendas'
  var celula = pagina.getRange('C2').getValue() // especifico que quero o valor da célula C2

  console.log(celula)
}

Como mostramos na introdução do Apps Script, o GAS é baseado em JavaScript. Ao final do código acima, usamos a instrução console.log(celula) para imprimir o valor da célula C2 no Registro de execução.

getValue celula c2 google sheets

A partir do momento que você tem o dado capturado na variável, você pode trabalhar com ele da forma que for necessária. Por exemplo, poderíamos usar o método .split() para pegar apenas o primeiro nome “Camiseta” ou podemos simplesmente concatenar um texto com outro, juntando “Produto: ” com “Camiseta estampada”, resultando “Produto: Camiseta estampada” no Registro de execução.

Manipulando um intervalo (exemplo: C2:E2)

A lógica é a mesma, faremos pequenos ajustes para garantir que todos os dados do intervalo C2:E2 sejam obtidos. Alterações que serão feitas:

  • Ajuste do intervalo de C2 para C2:E2
  • Ajuste do método .getValue() para .getValues()

function lerDados() {

  var planilha = SpreadsheetApp.getActiveSpreadsheet()
  var pagina = planilha.getSheetByName('base_de_vendas')
  var celula = pagina.getRange('C2:E2').getValues()

  console.log(celula)
}

O retorno será:

getvalues return apps script

Note que os dados estão “encapsulados” com colchetes (“[ ]”). Na verdade, esses dados foram transformados para o que chamamos de Array (ou matriz) em JavaScript. Agora nós temos 3 dados dentro da variável célula.

Se você quer obter somente algum valor específico, é preciso navegar na variável usando os índices da matriz, onde:

celula[0] = retornaria “Camiseta estampada”
celula[1] = 59.9
celula[2] = Thu Feb 01 2024 00:00:00 GMT-0300 (Brasilia Standard Time)
O número dentro dos colchetes (“[ ]”) representa a posição de cada dado dentro do Array. Por exemplo, a data está na posição 2. Atente-se ao fato que os elementos começam a partir do zero.

Outra observação: esses valores estão retornando com essa formatação, diferente de como vemos na planilha, porque é dessa forma que o Google Sheets salva as informações em seu banco de dados. Para que seja impresso no Registro de execução os valores formatados, assim como na planilha, basta alterar getValues() para getDisplayValues(). Teríamos um retorno parecido com esse:

21:37:16	Notificação	Execução iniciada
21:37:18	Informação	[ [ 'Camiseta estampada', 'R$ 59,90', '2024-02-01' ] ]
21:37:18	Notificação	Execução concluída

Note ainda que, por exemplo, o valor do pedido em R$ agora está entre aspas. Isso significa que ele não é mais formatado como um número, mas sim como texto. Nesse caso, não é possível fazer operações como somar, subtrair, multiplicar, etc. Recomendamos altamente a leitura do artigo sobre Estrutura de dados do JavaScript.

Esperamos que tenha aprendido um pouco mais sobre manipulação de dados do Google Planilhas usando o Apps Script. Continue contando com a gente para aprender mais e tornar o seu dia a dia no trabalho mais produtivo.

PARTICIPE DO NOSSO GRUPO NO WHATSAPP!
É 100% GRÁTIS!

Tópicos da publicação

PRECISANDO DE UM PROJETO PERSONALIZADO?

Comentários

Compartilhe esse conteúdo

URL compartilhável