1. Produkter
  2.   Regneark
  3.   Python
  4.   Xlwings
 
  

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.

Previous Next

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
 Norsk