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

Open Source Python API til Google Sheets

Python-bibliotek, der gør det nemt at kalde Python fra Excel og omvendt.

Xlwings er en open source python API til at manipulere Excel-filformat. Ved at bruge API'et kan du automatisere excel fra python til at producere rapporter, skrive UDF'er (brugerdefinerede funktioner), skrive makroer og fjernstyre Excel. Desuden tillader API'et at manipulere datastrukturer som celler, lister, områder, NumPy-arrays, panda-datarammer og pandaserier.

Xlwings kræver installation af Microsoft Excel, så alt virker på Windows og macOS bortset fra at UDF'erne kun virker på Windows.

Previous Next

Kom godt i gang med Xlwings

Du skal have Python 3.5 eller højere installeret på dit system for at køre xlwings problemfrit. Den anbefalede måde at installere via PIP. Brug venligst følgende kommando.

Installer Xlwings via PIP Command

pip install xlwings

Installer Xlwings via Conda

conda install xlwings

Interager med Excel fra Python

Xlwings API gør det muligt at manipulere Microsoft-regneark ved hjælp af Python. Ved at bruge API'et kan du oprette forbindelse til en eksisterende projektmappe eller oprette en ny ved hjælp af xlwings.Book()-metoden. Du kan læse/skrive værdier til og fra intervaller, udvide intervaller, nemt konvertere datatyper. Desuden kan du tilføje Matplotlib & Plotly-diagram som billeder i dine Excel-projektmapper.

Få dimensioner af Excel-intervaller 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 til Python fra Excel

Open Source regnearksbiblioteket Xlwings giver softwareudviklere mulighed for at kommunikere med Python via Excel. Du kan kalde python-funktioner inde i din excel enten ved at bruge Kør-knappen i Xlwings Excel-tilføjelsesprogram eller ved at bruge RunPython VBA-funktionen. Det gode ved at bruge Excel Add-In er, at du ikke har brug for, at dine projektmapper er makroaktiverede, og du kan gemme det som xlsx.

Brug Python Script til at indsætte 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)

Brugerdefinerede funktioner (UDF'er) i Excel ved hjælp af Python

Xlwings bibliotek giver udviklere mulighed for at skrive brugerdefinerede funktioner (UDF'er) inde i Microsoft Excel-filformatet programmatisk. I øjeblikket er UDF'er kun tilgængelige på Windows. API'et tillader brug af simple funktioner, antal array-dimensioner, dynamiske array-formler, arrya-formler med NumPy og mere.

Sådan kalder du 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
 Dansk