Contents

Como integrar perfeitamente o Python no Excel usando PyXLL

O PyXLL é uma ferramenta que faz a ponte entre o Microsoft Excel e o Python. Permite-lhe integrar perfeitamente o código e a funcionalidade Python em folhas de cálculo do Excel. Com o PyXLL, o Excel torna-se uma plataforma para tirar partido das bibliotecas e capacidades do Python.

O PyXLL é uma ferramenta poderosa que funciona como um suplemento do Excel, permitindo aos utilizadores criar funções e macros Python diretamente no ambiente VBA do Excel. Ao servir como intérprete para este código, o PyXLL permite que os seus utilizadores executem operações complexas, tais como automação, análise avançada de dados e visualização de dados, tudo a partir dos limites familiares do Microsoft Excel.

Uma visão geral do PyXLL

O PyXLL opera hospedando um interpretador Python dentro do próprio aplicativo Excel. Isso concede ao código Python do PyXLL acesso direto aos dados e objetos do Excel, fornecendo uma solução eficiente em comparação com o código VBA tradicional do Excel. Escrito em C\+\+ e aproveitando a mesma tecnologia principal do Excel, o PyXLL oferece uma vantagem de desempenho para a execução de scripts Python no ambiente do Microsoft Office.

Instalação e configuração

Para instalar o PyXLL, visite o site PyXLL e transfira o suplemento. Certifique-se de que a versão do Python e a versão do Excel que escolher correspondem às instaladas no seu sistema. O PyXLL só está disponível para a versão Windows do Excel.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-download.jpg

Ao terminar o processo de download, abra uma interface de prompt de comando e execute a seguinte instrução dentro dela:

 pip install pyxll 

Para executar o comando acima mencionado, é imperativo que você tenha o Pip pré-instalado no sistema operacional do seu computador. Em seguida, utilize o pacote PyXLL para implantar o suplemento PyXLL.

 pyxll install

Por favor, confirme se já descarregou o suplemento necessário e especifique a sua localização, fornecendo o caminho para o ficheiro zip, após o que podemos prosseguir com o processo de instalação conforme as instruções no ecrã.

Iniciando com PyXLL

Após a instalação do plug-in, inicie o Microsoft Excel. Uma notificação preliminar aparecerá solicitando sua escolha entre iniciar um teste ou comprar uma licença antes de utilizar o PyXLL. É importante observar que a versão de teste deixará de funcionar após um período de trinta dias, necessitando da aquisição de uma licença válida para continuar a operação.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-prompt.jpg

Clique no botão “Iniciar Teste” para iniciar a instalação do suplemento no Microsoft Excel. Após a instalação bem sucedida, poderá aceder e utilizar as suas funcionalidades na aplicação.

Clique no botão “About PyXLL” localizado no separador PyXLL Example. Esta ação apresentará informações sobre o caminho de instalação do suplemento, bem como os caminhos para os ficheiros de configuração e de registo associados.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-about.jpg

A localização do ficheiro de configuração é importante, uma vez que necessitará de aceder a ele no futuro para fazer ajustes, por isso seria prudente manter o seu caminho na sua memória.

Expor Funções Python ao Excel

Integrar uma função Python para uso no Microsoft Excel utilizando o decorador xl\_func, que serve para informar o PyXLL do registo pretendido e da disponibilidade da função para consumo do utilizador.

Para integrar uma função Python fibonacci() com o Microsoft Excel como uma Função Definida pelo Utilizador (UDF), pode utilizar-se o decorador @xl_func da seguinte forma:

 from pyxll import xl_func

@xl_func
def fibonacci(n):
  """
  This is a Python function that calculates the Fibonacci sequence.
  """
  if n < 0:
    raise ValueError("n must be non-negative")
  elif n == 0 or n == 1:
    return n
  else:
    return fibonacci(n - 1) \\+ fibonacci(n - 2)

Guarde o script fornecido utilizando um nome de ficheiro “.py” e certifique-se de que mantém um registo do diretório onde é guardado, tendo o cuidado de documentar a sua localização para referência futura.

Navegue até ao ficheiro de configuração PyXLL utilizando um editor de texto adequado e avance para uma secção designada por “pythonpath”. Normalmente, esse local consiste em uma série de diretórios que servem como plataforma para a investigação do PyXLL sobre as bibliotecas Python. Seria prudente incluir o caminho do diretório que engloba o código fonte da função Fibonacci nesta listagem.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-modules-folder-path.jpg

Adicione o seu módulo navegando até à secção “modules” e introduzindo o seu título na lista. Neste caso, uma vez que guardámos o nosso ficheiro como fibonacci.py , adicionaríamos o nome “fibonacci” à lista.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-modules.jpg

Para utilizar as funções adornadas com o decorador “@xl\_func” no ambiente de programação do Microsoft Excel, é preciso primeiro garantir que essas funções estejam expostas. Para isso, navegue até a “Guia Exemplo PyXLL” dentro do Excel e, em seguida, pressione o botão “Recarregar PyXLL”. Através desta ação, quaisquer modificações feitas no ficheiro de configuração serão sincronizadas. Consequentemente, os utilizadores podem utilizar a função “fibonacci” baseada em Python tal como fariam com uma fórmula normal do Excel.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-excel-calling.jpg

Você tem a flexibilidade de gerar um número ilimitado de funções, que podem ser perfeitamente integradas ao Microsoft Excel, seguindo uma metodologia consistente.

Passagem de dados entre o Excel e o Python

O PyXLL permite a integração de bibliotecas Python externas, como o Pandas, possibilitando uma comunicação perfeita entre o Python e o Excel. Um exemplo disso seria a utilização do Pandas para gerar um DataFrame gerado aleatoriamente, que pode ser posteriormente passado para o Excel por meio dos recursos do PyXLL. Para garantir que o Pandas está corretamente instalado no seu sistema, pode consultar as instruções de instalação fornecidas pelos seus criadores. Uma vez que o Pandas tenha sido instalado com sucesso, pode experimentar o trecho de código acima mencionado para observar a troca de informações entre o Python e o Excel facilitada pelo PyXLL.

 from pyxll import xl_func
import pandas as pd
import numpy as np

@xl_func("int rows, int columns: dataframe<index=True>", auto_resize=True)
def random_dataframe(rows, columns):
   data = np.random.rand(rows, columns)
   column_names = [chr(ord('A') \\+ x) for x in range(columns)]
   return pd.DataFrame(data, columns=column_names) 

Para permitir o acesso a este módulo e às suas funções no Microsoft Excel, é necessário seguir um procedimento específico. Uma vez feito isso, pode-se tentar invocar a função random_dataframe da mesma forma que qualquer outra fórmula do Excel.

 =random_dataframe(10,5) 

Tem a flexibilidade de modificar a quantidade de linhas e colunas de acordo com a sua preferência.

/pt/images/how-to-seamlessly-integrate-python-into-excel-using-pyxll-pandas.jpg

Também pode optar por incorporar estruturas de dados pré-estabelecidas num script Python utilizando as capacidades do Pandas, permitindo a importação e integração de dados do Microsoft Excel.

Limitações da PyXLL

A PyXLL, uma biblioteca Python especializada no manuseamento de XLL (Suplementos do Excel), foi adaptada para funcionar de forma optimizada nos sistemas operativos Windows. A sua eficácia pode ser limitada quando utilizada em plataformas não-Windows devido aos seus parâmetros de design específicos destinados a satisfazer as nuances dos ambientes Windows.

Para que os utilizadores finais possam utilizar folhas de cálculo com as capacidades do PyXLL, é necessário que possuam uma instalação funcional do Python nos seus dispositivos, quer apenas com as dependências essenciais, quer incluindo o tempo de execução do Python no pacote que acompanha a folha de cálculo. Consequentemente, os utilizadores que pretendam utilizar esta funcionalidade devem garantir que têm o Python pré-instalado nos seus sistemas.

Navegar pelos meandros do PyXLL requer uma proficiência em programação Python, bem como uma compreensão do modelo de objeto do Excel, o que pode constituir um desafio para os utilizadores não familiarizados com qualquer um destes conceitos. Consequentemente, aqueles que pretendem aproveitar todo o potencial desta biblioteca poderão ter de dedicar um esforço considerável à aquisição de conhecimentos básicos em ambas as áreas.

As despesas de utilização do PyXLL podem variar com base em vários parâmetros, como a magnitude da base de utilizadores, a extensão da implementação e os termos específicos que regem o licenciamento. Como um item que se enquadra na categoria de bens sujeitos a pagamento, é necessário ter em conta estes elementos ao determinar a obrigação financeira associada à utilização desta solução de software.

Deve continuar a utilizar as funções do Excel?

A escolha entre a utilização de funções nativas do Excel e a incorporação de bibliotecas externas como o PyXLL depende, em última análise, dos objectivos específicos que se pretende atingir. Embora seja geralmente aconselhável empregar funções nativas sempre que possível, há certas tarefas complexas que excedem as capacidades das funcionalidades incorporadas do Excel. Nesses casos, utilizar ferramentas especializadas como o PyXLL pode ser uma alternativa altamente eficaz.

A integração da biblioteca Pandas com o PyXLL oferece uma combinação excecional, fornecendo uma funcionalidade analítica robusta e capacidades de processamento de dados impressionantes para melhorar a experiência do utilizador.