Você está visualizando atualmente Como executar código Python dentro do Excel

Como executar código Python dentro do Excel

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 🙂

faça seu orçamento agora

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.

Essa foi nossa enquete.

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:

Resultado final

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.

Screenshot do 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:

Perceba que ele retorna o caminho absoluto para sua instalação do python… lembre-se disso! vai ser importante

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:

Janela pop-up aberta quando clicamos em “macros” na guia do desenvoledor

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:

O nome “novaMacro()” é você que decide

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

Veja nosso Github

Vinicius dos Santos

Apenas um apaixonado por Ciência da Computação e a forma com que ela pode transformar vidas!

Este post tem 2 comentários

  1. wesley cesar Matos

    Muito bom, mas a tela do gráfico aparece e depois some, não dá nem para ver, o que devo fazer?

Deixe um comentário

15 + 10 =