Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Fala pessoal, beleza?
Já precisou carregar uma planilha armazenada no Google? Não conseguiu? Conseguiu, mas retornou apenas 100 linhas? Vamos entender melhor como devemos fazer essa leitura.
Essa semana surgiu a necessidade de carregar uma planilha que foi desenvolvida e estava armazenada no Google através do serviço Google Docs (Por ser uma planilha, na verdade o nome do serviço é Google SpreadSheets).
Como essa planilha esta armazenada na "web", então iremos utilizar o recurso de carregar arquivos web do qlikview, lembra dele?
Apesar da planilha do google ser compatível com o excel, o seu formato padrão não é o XLS.
O primeiro passo foi o de liberar o acesso para que o QlikView possa executar a leitura das informações contidas nesta planilha.
Atenção: Em nosso exemplo iremos trabalhar com uma planilha aberta, ou seja, qualquer pessoa com acesso ao link poderá ter acesso ao conteúdo desta planilha. O Google Docs disponibiliza um método de segurança com autenticação de conta, porém este não será o nosso foco.
Primeiro devemos acessar o site do google spreadsheet e fazer o login com a conta em que a planilha foi criada.
Com o acesso realizado, devemos localizar a planilha que iremos trabalhar e clicar sobre o seu nome para abrir o arquivo.
Com a planilha aberta, clique sobre o botão "Share" para configurar a forma de compartilhar a planilha:
Na tela em que abrir, clique em Advanced :
Na descrição "Private - Only You Can Access", clique em Change:
Agora habilite a opção "On - Anyone With The Link" e depois marque a opção "Can View", ou seja, a planilha estará liberada sem nenhuma autenticação, porém só poderão visualizar quem possuir o link com a sua key de acesso.
Clique em Save. Agora as novas configurações terão efeito e você poderá utilizar o link do arquivo compartilhado para carregar no QlikView.
Copie esse link, é importante!
Clique em Done para finalizar e vamos para o QlikView.
No script da sua aplicação, clique sobre o botão "Arquivos Web" e na opção "Arquivos da Internet" cole o link gerado pelo Google e depois clique em Avançar:
O processo pode demorar um pouco, pois o QlikView esta acessando o Google Docs para buscar os dados da planilha. Quando ele conseguir, a tela de seleção de tabelas será exibida com as planilhas que foram encontradas:
Repare que o QlikView identificou o formato do arquivo em HTML.
Neste exemplo, o QlikView identificou 3 planilhas, porém a correta é a @2, por conter os dados que quero carregar. Faça as configurações necessárias para que os dados fique conforme deseja e finalize o assistente.
Meu script ficou da seguinte forma:
Pronto, agora basta fazer a recarga e utilizar os dados da forma que deseja!
Ué, 99 linhas. Minha planilha tem muito mais que 99 linhas!
A planilha que estamos carregando no exemplo possui 177 linhas
Isso ocorre, pois o link que compartilhamos é para a visualização da planilha através do acesso via o próprio Google. Se tentarmos baixar os dados dessa planilha através de um HTTP GET Request (esse é o método que o QlikView utiliza quando utilizamos o Arquivos Web) sem nenhum parâmetro adicional, o Google vai liberar apenas uma porção dos dados por questões de performance.
Mas como podemos baixar todas as informações desta planilha? Bom, para isso teremos que utilizar alguns parâmetros de output de dados.
A lista de parâmetros e como utiliza-los pode ser encontrada na própria página do Google, aqui e aqui!
Iremos utilizar dois novos parâmetros, são eles: GVIZ e TQX OUT.
O nosso link da planilha é: https://docs.google.com/spreadsheets/d/168KZboczA5kO8_VLdDR2lXSR4C5vZsVYVzweBEAQHsM
Com a adição dos parâmetros:
https://docs.google.com/spreadsheets/d/168KZboczA5kO8_VLdDR2lXSR4C5vZsVYVzweBEAQHsM/gviz/tq?tqx=out:html
Basicamente adicionamos o seguinte trecho ao final da URL: /gviz/tq?tqx=out:html
Digite essa URL em seu navegador e veja como ficou a nossa tabela:
Neste formato de OutPut, o Google libera todas as linhas de nossa planilha para serem baixados através de um HTTP GET Request. Vamos fazer a alteração no QlikView e testar.
No script, remova o script antigo e agora clique em "Arquivos Web" e adicione o novo link.
Faça uma recarga e veja que todas as linhas da tabela foram carregadas:
Agora sim é só carregar as informações e utilizar da forma em que deseja.
Através do Arquivos Web não é possível passar nenhuma autenticação para o Google. Uma forma de se conseguir isso é adquirir conectores pagos que fazem esse serviço, por exemplo o QvSource, porém também existe uma forma de se fazer isso através de comandos em JAVA. Essa explicação vai ficar para a segunda parte deste post
Até a próxima semana pessoal!
Obrigada pelas dicas, nicolett.yuri.
Vc saberia me informar pq só está sendo feita a busca de uma aba da planilha? O qlik até reconhece a aba 2 mas traz a seguinte informação: As cotações não são provenientes de todos os mercados e talvez tenham até 20 minutos de atraso. Os dados são fornecidos "no estado em que se encontram" e somente para fins informativos, não para fins comerciais ou de consultoria.Exoneração de responsabilidade.
Estranho, né?
Obrigada mais uma vez.
Fala Yuri, beleza?
Cara, você sabe se dá pra carregar varias planilhas em uma pasta? Eu tenho algumas planilhas com o mesmo nome disponibilizada no Google drive. Preciso carregar todas ao mesmo tempo, como carrega a planilha física com "*.xlsx", visto que agora não temos mais o nome da planilha e sim o link.
abs
Opa Tiago, beleza?
Não conheço uma forma de carregar várias planilhas de forma automática. Da forma que expliquei, você precisa fazer o processo um a um
Agradeço pelo post, muito útil!! A questão é que tenho seguido todas as orientações e tutoriais mas não tem jeito, ele só lê até a linha 100. O que deve ser e o que preciso colar aqui para tentarem me ajudar?
Obrigado
Sandro
Muito bom! Muito útil!!
Já tem a 2ª parte do post?
E se minha planilha tiver autenticação?