API Python de código aberto para Planilhas Google
Biblioteca Python que facilita a chamada de Python a partir do Excel e vice-versa.
Xlwings é uma API python de código aberto para manipular o formato de arquivo do Excel. Usando a API, você pode automatizar o Excel a partir do python para produzir relatórios, escrever UDFs (funções definidas pelo usuário), escrever macros e controlar o Excel remotamente. Além disso, a API permite manipular estruturas de dados como células, listas, intervalos, matrizes NumPy, quadros de dados panda e séries panda.
O Xlwings requer a instalação do Microsoft Excel, então tudo funciona no Windows e no macOS, exceto que as UDFs funcionam apenas no Windows.
Introdução ao Xlwings
Você precisa ter o Python 3.5 ou superior instalado em seu sistema para executar o xlwings sem problemas. A maneira recomendada de instalar via PIP. Por favor, use o seguinte comando.
Instale o Xlwings via comando PIP
pip install xlwings
Instale o Xlwings via Conda
conda install xlwings
Interagir com o Excel a partir do Python
A API Xlwings permite manipular planilhas da Microsoft usando Python. Usando a API, você pode se conectar a uma pasta de trabalho existente ou criar uma nova usando o método xlwings.Book(). Você pode ler/gravar valores de e para intervalos, expandir intervalos, converter tipos de dados facilmente. Além disso, você pode adicionar o gráfico Matplotlib e Plotly como imagens em suas pastas de trabalho do Excel.
Obter Dimensões de Gamas do Excel Dinamicamente através do Python
sheet = xw.Book().sheets[0]
sheet['A1'].value = [[1,2], [3,4]]
range1 = sheet['A1'].expand('table') # or just .expand()
range2 = sheet['A1'].options(expand='table')
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
[[1.0, 2.0], [3.0, 4.0]]
sheet['A3'].value = [5, 6]
range1.value
[[1.0, 2.0], [3.0, 4.0]]
range2.value
Chamar Python do Excel
A biblioteca de planilhas de código aberto Xlwings permite que os desenvolvedores de software se comuniquem com o Python via Excel. Você pode chamar funções python dentro do seu Excel usando o botão Executar do Suplemento Xlwings Excel ou usando a função RunPython VBA. O bom de usar o Suplemento do Excel é que você não precisa que suas pastas de trabalho sejam habilitadas para macro e você pode salvá-lo como xlsx.
Use Python Script para inserir códigos R no Microsoft Excel
import tempfile
import segno
import xlwings as xw
# Update this with the name of your workbook
book = xw.Book('qr.xlsx')
sheet = xw.sheets[0]
# Update this with the starting cell of your URLs
start_cell = sheet['A1']
urls = start_cell.options(expand='down', ndim=1).value
# Loop through each URL and generate the QR code
for ix, url in enumerate(urls):
# Generate the QR code
qr = segno.make(url)
with tempfile.TemporaryDirectory() as td:
# Save the QR code as a temporary svg file. If you are on macOS, use pdf
# instead and if you don't have Microsoft 365, you may have to use png
filepath = f'{td}/qr.svg'
qr.save(filepath, scale=5, border=0, finder_dark='#15a43a')
# Insert the QR code to the right of the URL
destination_cell = start_cell.offset(row_offset=ix, column_offset=1)
sheet.pictures.add(filepath,
left=destination_cell.left,
top=destination_cell.top)
Funções definidas pelo usuário (UDFs) no Excel usando Python
A biblioteca Xlwings oferece aos desenvolvedores a capacidade de escrever funções definidas pelo usuário (UDFs) dentro do formato de arquivo do Microsoft Excel programaticamente. Atualmente, as UDFs estão disponíveis apenas no Windows. A API permite o uso de funções simples, número de dimensões de matriz, fórmulas dinâmicas de matriz, fórmulas arrya com NumPy e muito mais.
Como chamar Marcos via RunPython no Microsoft Excel
import xlwings as xw
@xw.sub
def my_macro():
"""Writes the name of the Workbook into Range("A1") of Sheet 1"""
wb = xw.Book.caller()
wb.sheets[0].range('A1').value = wb.name