Open Source Python API for Google Sheets
Python-bibliotek som gjør det enkelt å ringe Python fra Excel og omvendt.
Xlwings er en åpen kildekode python API for å manipulere Excel-filformat. Ved å bruke API kan du automatisere excel fra python for å produsere rapporter, skrive UDF-er (brukerdefinerte funksjoner), skrive makroer og kontrollere Excel eksternt. Videre tillater API manipulering av datastrukturer som celler, lister, områder, NumPy-matriser, pandadatarammer og pandaserier.
Xlwings krever installasjon av Microsoft Excel, så alt fungerer på Windows og macOS bortsett fra at UDF-ene bare fungerer på Windows.
Komme i gang med Xlwings
Du må ha Python 3.5 eller høyere installert på systemet ditt for å kjøre xlwings jevnt. Den anbefalte måten å installere via PIP. Vennligst bruk følgende kommando.
Installer Xlwings via PIP-kommando
pip install xlwings
Installer Xlwings via Conda
conda install xlwings
Samhandle med Excel fra Python
Xlwings API gjør det mulig å manipulere Microsoft-regneark ved hjelp av Python. Ved å bruke API kan du koble til en eksisterende arbeidsbok eller opprette en ny ved å bruke xlwings.Book()-metoden. Du kan lese/skrive verdier til og fra områder, utvide områder, enkelt konvertere datatyper. Videre kan du legge til Matplotlib & Plotly-diagram som bilder i Excel-arbeidsbøkene dine.
Få dimensjoner for Excel-områder dynamisk via 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
Ring Python fra Excel
Open Source-regnearkbiblioteket Xlwings lar programvareutviklere kommunisere med Python via Excel. Du kan kalle python-funksjoner inne i Excel enten ved å bruke Kjør-knappen i Xlwings Excel-tillegg eller ved å bruke RunPython VBA-funksjonen. Det som er bra med å bruke Excel Add-In er at du ikke trenger at arbeidsbøkene dine skal være makroaktiverte, og du kan lagre den som xlsx.
Bruk Python Script for å sette inn QR-koder i 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)
Brukerdefinerte funksjoner (UDF) i Excel ved hjelp av Python
Xlwings-biblioteket gir utviklere muligheten til å skrive brukerdefinerte funksjoner (UDF) i Microsoft Excel-filformat programmatisk. Foreløpig er UDF-er bare tilgjengelig på Windows. APIen tillater bruk av enkle funksjoner, antall matrisedimensjoner, dynamiske matriseformler, matriseformler med NumPy og mer.
Hvordan ringe makroer via RunPython i 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