Open Source Python API pentru Foi de calcul Google

Bibliotecă Python care facilitează apelarea Python din Excel și invers.

Xlwings este un API python open source pentru manipularea formatului de fișier Excel. Folosind API-ul, puteți automatiza excel din python pentru a produce rapoarte, a scrie UDF-uri (funcții definite de utilizator), a scrie macrocomenzi și a controla Excel de la distanță. În plus, API-ul permite manipularea structurilor de date precum celule, liste, intervale, matrice NumPy, cadre de date panda și serii panda.

Xlwings necesită instalarea Microsoft Excel, așa că totul funcționează pe Windows și macOS, cu excepția faptului că UDF-urile funcționează numai pe Windows.

Previous Next

Noțiuni introductive cu Xlwings

Trebuie să aveți instalat Python 3.5 sau o versiune ulterioară pe sistem pentru a rula xlwings fără probleme. Modul recomandat de instalare prin PIP. Vă rugăm să utilizați următoarea comandă.

Instalați Xlwings prin comanda PIP

pip install xlwings

Instalați Xlwings prin Conda

conda install xlwings

Interacționați cu Excel din Python

API-ul Xlwings permite manipularea foilor de calcul Microsoft folosind Python. Folosind API-ul, vă puteți conecta la un registru de lucru existent sau puteți crea unul nou folosind metoda xlwings.Book(). Puteți citi/scrie valori în și din intervale, puteți extinde intervalele, puteți converti cu ușurință tipurile de date. În plus, puteți adăuga diagrama Matplotlib și Plotly ca imagini în registrele de lucru Excel.

Imagini cu Excel Range Dynamic 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

Apelați Python din Excel

Biblioteca de foi de calcul Open Source Xlwings permite dezvoltatorilor de software să comunice cu Python prin Excel. Puteți apela funcții Python în Excel fie utilizând butonul Run al Xlwings Excel Add-In, fie utilizând funcția RunPython VBA. Lucrul bun despre utilizarea programului de completare Excel este că nu aveți nevoie ca registrele dvs. de lucru să fie activate pentru macro și îl puteți salva ca xlsx.

Utilizați Python Script pentru a introduce coduri R în 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)

Funcții definite de utilizator (UDF) în Excel folosind Python

Biblioteca Xlwings oferă dezvoltatorilor capacitatea de a scrie Funcții definite de utilizator (UDF) în formatul de fișier Microsoft Excel în mod programatic. În prezent, UDF-urile sunt disponibile numai pe Windows. API-ul permite utilizarea funcțiilor simple, a numărului de dimensiuni ale matricei, a formulelor de matrice dinamice, a formulelor arrya cu NumPy și multe altele.

Cum să apelați Marcos prin RunPython în 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
 Română