Atvirojo kodo Python API, skirta „Google“ skaičiuoklėms

Python biblioteka, kuri leidžia lengvai iškviesti Python iš Excel ir atvirkščiai.

Xlwings yra atvirojo kodo python API, skirta manipuliuoti Excel failo formatu. Naudodami API galite automatizuoti „Excel“ iš „python“, kad galėtumėte kurti ataskaitas, rašyti UDF (vartotojo apibrėžtas funkcijas), rašyti makrokomandas ir nuotoliniu būdu valdyti „Excel“. Be to, API leidžia manipuliuoti duomenų struktūromis, tokiomis kaip langeliai, sąrašai, diapazonai, „NumPy“ matricos, „panda“ duomenų rėmeliai ir „panda“ serijos.

„Xlwings“ reikia įdiegti „Microsoft Excel“, todėl viskas veikia „Windows“ ir „MacOS“, išskyrus tai, kad UDF veikia tik „Windows“.

Previous Next

Darbo su Xlwings pradžia

Kad „xlwings“ veiktų sklandžiai, sistemoje turi būti įdiegta „Python 3.5“ ar naujesnė versija. Rekomenduojamas būdas įdiegti per PIP. Prašome naudoti šią komandą.

Įdiekite Xlwings naudodami PIP komandą

pip install xlwings

Įdiekite Xlwings per Conda

conda install xlwings

Bendraukite su „Excel“ iš Python

„Xlwings“ API leidžia manipuliuoti „Microsoft“ skaičiuoklėmis naudojant „Python“. Naudodami API galite prisijungti prie esamos darbaknygės arba sukurti naują naudodami xlwings.Book() metodą. Galite skaityti / rašyti reikšmes į diapazonus ir iš jų, išplėsti diapazonus, lengvai konvertuoti duomenų tipus. Be to, „Excel“ darbaknygėse galite pridėti „Matplotlib“ ir „Plotly“ diagramas kaip paveikslėlius.

Gaukite „Excel“ diapazonų matmenis dinamiškai naudodami „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

Skambinkite Python iš Excel

Atvirojo kodo skaičiuoklių biblioteka Xlwings leidžia programinės įrangos kūrėjams susisiekti su Python naudojant „Excel“. Python funcitons galite iškviesti savo „Excel“ naudodami „Xlwings Excel“ priedo mygtuką Vykdyti arba naudodami „RunPython VBA“ funkciją. Geras dalykas naudojant „Excel“ priedą yra tas, kad jums nereikia, kad darbaknygėse būtų įjungtos makrokomandos, ir galite išsaugoti ją kaip xlsx.

Norėdami įterpti QR kodus į Microsoft Excel, naudokite Python Script

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)

Vartotojo nustatytos funkcijos (UDF) programoje Excel naudojant Python

Xlwings biblioteka suteikia kūrėjams galimybę programiškai įrašyti vartotojo apibrėžtas funkcijas (UDF) Microsoft Excel failo formatu. Šiuo metu UDF galimi tik languose. API leidžia naudoti paprastus funcitonus, masyvo matmenų skaičių, dinamines masyvo formules, arrya formules su NumPy ir kt.

Kaip iškviesti makrokomandas naudojant „RunPython“ programoje „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
 Lietuvių