Como gerar QR-Code com o Google Planilhas

O Google Planilha possibilita de maneira simples e gratuita gerar QR-Code de forma programática.

Como gerar QR-Code com o Google Planilhas
TL;DR ↪ Se você precisar direto da fórmula, clique aqui para rolar a página direto para o resumo TL;DR!

📖 Índice

O QR Code é uma forma prática e conveniente de compartilhar informação através de uma imagem. Atualmente utilizamos para vários fins, desde controle de estoque em um armazém até compartilhar a chave PIX em uma live no Youtube 😎.

O que é e como surgiu QR-Code?

A palavra QR-Code é um acrônimo para Quick Responde Code que em tradução livre significa Código de Resposta Rápida. O QR-Code é um código de barras bi-dimensional capaz de armazenar caracteres alpha-numéricos e pode ser lido e interpretado pela câmera de praticamente qualquer smartphone moderno.

Umas das vantagens de utilizar o QR-Code é que ele possui correção de erros entre 7% e 30%, ou seja, mesmo faltando alguma parte, o QR-Code ainda pode ser lido. Isso deixa, diferente de códigos de barras convencionais, o QR-Code mais seguro, pois mesmo com resolução baixa ou parte do código comprometida, a informação ainda será lida.

O QR-Code foi desenvolvido pela Denso, uma empresa japonesa. Inicialmente foi criado para fazer a gestão de peças utilizadas para a fabricação de carros. Embora o QR-Code seja patenteado pela Denso, ela não exerce o uso e liberou o uso público da tecnologia.

QR-Code no Google Planilhas

Para criar um QR-Code utilizando o Google Planilhas utilizaremos a API de geração de gráficos do Google e em seguida a fórmula de imagem para exibir o resultado da API. De forma geral é bem simples, vamos para o passo a passo:

1) Preparar a informação que será transformada em QR-Code

Como vamos utilizar a API do Google Charts, enviaremos o conteúdo a ser transformado em QR-Code direto por uma URL. Sendo assim, precisamos preparar esse texto, pois endereços URL não aceitam alguns caracteres. Por exemplo, um espaço é transformado em um %20, um ç em %C3%A7 e assim por diante.

Para isso, vamos utilizar a função ENCODEURL para transformar o texto.

2) Criar a URL da API do Google Charts para o QR-Code

Agora, vamos efetivamente gerar o QR-Code. Para isso, utilizaremos a API do Google Charts. O endereço da API que vamos utilizar é:

https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=TEXTO_QRCODE

Onde o parâmetro chs  define o tamanho do gráfico, no nosso caso vamos utilizar 200x200. O parâmetro cht  define qual o tipo de gráfico, no nosso caso, o valor qr  é para QR-Code. Por fim, o parâmetro chl  define o label que será utilizado no gráfico. Como o tipo é QR-Code, não precisamos passar parâmetros de dados, o código é gerado com base no label.

Sendo assim, a URL completa será o endereço da API juntamente com a função ENCODEURL que utilizamos acima:

2) Utilizar a função IMAGE para gerar o QR-Code

Por fim, vamos utilizar a função IMAGE do Google Planilhas para efetivamente gerar o QR-Code com base na URL da API do Google Chart. É bem simples é basta utilizar a seguinte formula:

=IMAGE("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl="&ENCODEURL(A4))

Pronto, isso automaticamente vai gerar o QR-Code com base no valor de uma célula.

Você também pode gerar com um texto direto, basta inserir o valor dentro da função ENCODEURL. Veja o exemplo abaixo:

=IMAGE("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl="&ENCODEURL("https://200ok.com.br"))

TL;DR | Resumo

# Função de enconde
=ENCODEURL("texto para o QRCode")

# API do Google Charts
https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl=TEXTO_QRCODE

# Fórmula pronta utilizando uma célula com o texto do QRCode 
=IMAGE("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl="&ENCODEURL(A4))

# Fórmula pronta utilizando o texto direto para o QRCode 
=IMAGE("https://chart.googleapis.com/chart?chs=200x200&cht=qr&chl="&ENCODEURL("https://200ok.com.br"))

Link para uma planilha de exemplo somente leitura: https://docs.google.com/spreadsheets/d/1MAt85fN9uPBxGAesnuZ6PVO9yp6XFoDPfFhNjVWh1i8/edit?usp=sharing

Espero que essa dica tenha sido útil, valeu!