Entenda nesse tutorial como executar códigos Python no Excel! Em poucas palavras, vamos criar um botão e quando você clicar em nele, um código Python será executado.
Fica ligado que vamos criar vários conteúdos legais de Excel e python 🙂
Antes de mais nada…
Esse post foi produzido ouvindo vocês! Caso vocês não tenham percebido, eu coloquei no site uma ferramenta de “poll” para saber o que vocês gostariam de ver por aqui.
Devo dizer que isso faz parte de um desejo nosso de aumentar a interação com vocês! Gostaria de saber o que vocês acham do conteúdo e receber sugestões. Portanto… estou postando esse tutorial baseado na opinião de vocês. Espero que gostem 🙂
O que nós vamos produzir?
Nesse tutorial vamos basicamente reproduzir o que está na imagem abaixo:
Perceba que tenho uma tabela simples com nomes de estados brasileiros seguidos pela sua temperatura média. Esses dados são completamente fake e foram inseridos apenas para criar nosso exemplo.
O funcionamento do sistema é o seguinte… quando eu clico no botão “gerar gráfico” essa plotagem aparece na tela mostrando a visualização. Vale lembrar ainda que essa abordagem é dinâmica… isso significa que se você alterar a tabela e clicar nesse botão você terá um novo gráfico com os novos dados. Veja o exemplo:
E ai? é o que você precisava? Vamos lá então…
Passo 1 – Configurando seu ambiente
Para reproduzir esse exemplo em sua máquina é preciso configurar vários detalhezinhos que tem a ver com o seu ambiente. A realidade é que você precisa dizer ao seu Excel exatamente onde ele deve encontrar cada um dos recursos que você precisa. Sendo assim, vamos começar do início..
Instalar o Excel
Nesse passo não posso te ajudar muito, a realidade é que você precisa ter uma cópia do Excel instalada e ativa em sua máquina. É muito provável que boa parte das versões mais atuais do Excel suportem esse recurso que vamos usar.
Um ponto importante é que você precisa ativar a visão do desenvolvedor no seu Excel. Para isso clique em “arquivo>opções do excel>personalizar faixa de opções”. Você verá a seguinte tela:
Clique no check do desenvolvedor destacado e você será capaz de ver em seu excel uma nova aba:
As opções acima serão as únicas que vamos usar nesse tutorial. A primeira abre o editor de macros e a segunda insere itens de formulários como botões.
Instalar o Python
O Python pode ser instalado gratuitamente no website oficial.
Clique no botão de download, siga as instruções e instale o Python na sua máquina. Depois de instalado você pode executar o seguinte comando no terminal CMD do windows:
where python
O resultado é algo assim:
Depois de instalado e configurado você vai precisar instalar algumas dependências… elas são o pandas e o matplotlib. Para isso apenas execute os seguintes comandos um por vez:
pip install matplotlib pip install pandas
O pandas pode exigir que você instale a biblioteca openpyxl (é uma dependencia do pandas)… O comando para instalar é:
pip install openpyxl
Ufa! espero que esteja tudo certo… se você tiver erros nessa parte, é muito possível que seu exemplo não funcione… deixe nos comentários sua dúvida e posso tentar te ajudar a descobrir o que está errado.
Passo 02 – Criando seu gráfico no Python
A verdade é que o nosso foco nesse tutorial não é mostrar como o Python funciona, nem mesmo como geramos gráficos ou coisas assim… nosso objetivo é apenas mostrar como você pode “conectar” os códigos Python com o Excel de uma forma legal. Sendo assim, vou me limitar a dizer que eu mesmo criei um código simples em Python usando a matplotlib e pandas para gerar um gráfico de barras.
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_excel("gerarGraficoComPython.xlsm");
plt.figure(figsize=(10,6))
# adicionando o título
plt.title("Temperatura das cidades")
## adicionando alguns grids
plt.grid(True, color = "grey", linewidth = "1", linestyle = "-.")
plt.bar(df['Cidade'], df['Temperatura'], color="k")
plt.xticks(df['Cidade'], rotation='vertical')
plt.show()
Esse código simplesmente faz a leitura da planilha e depois devolve um gráfico na sua tela com os dados. Para executar esse código precisamos criar um arquivo com a extensão “.py” e ele precisa estar na mesma pasta que você colocou a sua planilha.
Então nosso exemplo ficou assim:
Eu deixei esse código lá no Github para facilitar pra você 🙂
Passo 03 – Configurando o Excel
Agora vem a parte mais importante desse tutorial, que é conectar seu Excel com o código. Em primeiro lugar devemos clicar na opção “macros” na guia do desenvolvedor e você verá a seguinte janela:
Essa janela permiteque você crie novas macros e também edite aquelas que já existem. Todas as macros que existem ficam aparecendo nessa janela de acordo com o nome que você deu para elas. Caso você queira apenas executar uma macro, clique em “executar”.
Ao criar uma nova macro, a seguinte janela irá aparecer:
Essa macro que está sendo criada é feita em VBA (uma linguagem buitin do excel), mas não se preocupe… não vamos fazer muita coisa nela. Você só precisa colar o seguinte código:
Dim objShell As Object
Dim PythonExePath As String, PythonScriptPath As String
ActiveWorkbook.Save
ChDir ActiveWorkbook.Path
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExePath = """C:\Python310\python.exe"""
PythonScriptPath = """C:\Users\Vinicius\Desktop\pyExcel\gerargrafico.py"""
objShell.Run PythonExePath & PythonScriptPath
Para resumir, esse código apenas indica para o Excel que ele deve executar um código Python que já foi criado no seu computador. As duas variaveis que você precisa alterar são “PythonExePath” e “PythonScriptPath”, elas respectivamente são o caminho absoluto do Python na sua máquina e o caminho do código Python criado por você (que você deseja executar).
Por fim, você deverá inserir um botão de formulário na guia do desenvolvedor (“inserir> clicar no botão”). Ao desenhar esse botão na tela, clique com o botão direito do mouse sobre ele e você verá a opção “atribuir macro”:
Ao clicar você deve selecionar a macro que você criou e clicar em “ok”
Nesse ponto, toda vez que você clicar nesse botão a macro selecionada será executada. Se tudo estiver funcionando corretamente, você já irá ver o resultado final.
Possíveis problemas
O Excel é um pouco “chato” quanto a criação de macros e a habilitação das mesmas… isso acontece porque muitos desenvolvedores no passado usavam esse recurso de forma maliciosa. Então para que você consiga executar essas macros você precisa salvar o documento em um formato específico: XLSM.
Esse formato permite executar suas macros tranquilamente.
Conclusão
Como você pode perceber esse tutorial não foi muito a fundo no que podemos fazer usando o Python em combinação com o excel. Aqui criamos um gráfico de barras simples que o próprio Excel já produz sem nenhuma dificuldade. No entanto, você deve compreender que o Python é uma ferramenta muito poderosa e possui uma infinidade de funções que podem ajudar você a automatizar tarefas.
Acesso ao código
Deixei o código que produzi dentro do github do CSM
Pingback: Como criar um web crawler com Python » CSM
Muito bom, mas a tela do gráfico aparece e depois some, não dá nem para ver, o que devo fazer?