Avoimen lähdekoodin Python-sovellusliittymä Google Sheetsille

Python-kirjasto, jonka avulla Pythonin kutsuminen Excelistä on helppoa ja päinvastoin.

Xlwings on avoimen lähdekoodin python-sovellusliittymä Excel-tiedostomuodon käsittelyyn. API:n avulla voit automatisoida Excelin pythonista tuottamaan raportteja, kirjoittamaan UDF:itä (käyttäjän määrittämiä toimintoja), kirjoittaa makroja ja ohjata Exceliä etänä. Lisäksi API mahdollistaa tietorakenteiden, kuten solujen, luetteloiden, alueiden, NumPy-taulukoiden, pandatietokehysten ja pandasarjojen, manipuloinnin.

Xlwings vaatii Microsoft Excelin asennuksen, joten kaikki toimii Windowsissa ja macOS:ssä paitsi että UDF:t toimivat vain Windowsissa.

Previous Next

Xlwingsin käytön aloittaminen

Järjestelmässäsi on oltava Python 3.5 tai uudempi asennettuna, jotta xlwings toimii sujuvasti. Suositeltu tapa asentaa PIP:n kautta. Käytä seuraavaa komentoa.

Asenna Xlwings PIP-komennon kautta

pip install xlwings

Asenna Xlwings Condan kautta

conda install xlwings

Käytä Exceliä Pythonista

Xlwings API mahdollistaa Microsoft Spreadsheets -taulukoiden manipuloinnin Pythonilla. API:n avulla voit muodostaa yhteyden olemassa olevaan työkirjaan tai luoda uuden käyttämällä xlwings.Book()-menetelmää. Voit lukea/kirjoittaa arvoja alueille ja alueilta, laajentaa alueita ja muuntaa tietotyyppejä helposti. Lisäksi voit lisätä Matplotlib- ja Plotly-kaavioita kuvina Excel-työkirjoihin.

Hanki Excel-alueiden mitat dynaamisesti Pythonin kautta

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

Soita Python Excelistä

Avoimen lähdekoodin taulukkolaskentakirjasto Xlwings antaa ohjelmistokehittäjille mahdollisuuden olla yhteydessä Pythoniin Excelin kautta. Voit kutsua python-funktioita Excelin sisällä joko käyttämällä Xlwings Excel -lisäosan Run-painiketta tai käyttämällä RunPython VBA -toimintoa. Hyvä puoli Excel-apuohjelman käyttämisessä on, että työkirjojen ei tarvitse olla makro-käytössä, ja voit tallentaa sen xlsx-muodossa.

Käytä Python Scriptiä QR-koodien lisäämiseen Microsoft Exceliin

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)

Käyttäjän määrittämät funktiot (UDF) Excelissä Pythonilla

Xlwings-kirjasto antaa kehittäjille mahdollisuuden kirjoittaa User Defined Funcitons (UDF) -tiedostoja Microsoft Excel -tiedostomuotoon ohjelmallisesti. Tällä hetkellä UDF:t ovat käytettävissä vain Windowsissa. API mahdollistaa yksinkertaisten funktioiden, taulukoiden mittojen määrän, dynaamisten taulukkokaavojen, arrya-kaavojen ja NumPy:n käytön.

Kuinka kutsua makroja RunPythonin kautta Microsoft Excelissä

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
 Suomen