Open Source Python API dla Arkuszy Google
Biblioteka Pythona, która ułatwia wywoływanie Pythona z Excela i odwrotnie.
Xlwings to open source'owe API Pythona do manipulowania formatem plików Excel. Korzystając z interfejsu API, możesz zautomatyzować program Excel z Pythona, aby tworzyć raporty, pisać UDF (funkcje zdefiniowane przez użytkownika), pisać makra i zdalnie sterować programem Excel. Ponadto API umożliwia manipulowanie strukturami danych, takimi jak komórki, listy, zakresy, tablice NumPy, ramki danych panda i serie panda.
Xlwings wymaga instalacji Microsoft Excel, więc wszystko działa w systemie Windows i macOS, z wyjątkiem tego, że UDF działa tylko w systemie Windows.
Pierwsze kroki z Xlwings
Aby płynnie uruchomić xlwings, musisz mieć zainstalowany Python 3.5 lub nowszy. Zalecany sposób instalacji przez PIP. Użyj następującego polecenia.
Zainstaluj Xlwings za pomocą polecenia PIP
pip install xlwings
Zainstaluj Xlwings przez Conda
conda install xlwings
Interakcja z Excelem z Pythona
Interfejs API Xlwings umożliwia manipulowanie arkuszami kalkulacyjnymi Microsoft za pomocą Pythona. Korzystając z API możesz połączyć się z istniejącym skoroszytem lub utworzyć nowy za pomocą metody xlwings.Book(). Możesz odczytywać/zapisywać wartości do i z zakresów, rozszerzać zakresy, łatwo konwertować typy danych. Ponadto możesz dodać wykres Matplotlib i Plotly jako obrazy w skoroszytach programu Excel.
Pobierz Wymiary zakresów Excel Dynamicznie przez 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
Zadzwoń do Pythona z Excela
Biblioteka arkuszy kalkulacyjnych Open Source Xlwings umożliwia programistom komunikację z Pythonem za pośrednictwem programu Excel. Możesz wywoływać funkcje Pythona w Excelu za pomocą przycisku Uruchom dodatku Xlwings Excel lub używając funkcji RunPython VBA. Zaletą korzystania z dodatku Excel jest to, że nie potrzebujesz skoroszytów z obsługą makr i możesz je zapisać jako xlsx.
Użyj skryptu Python, aby wstawić kody R w programie 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)
Funkcje zdefiniowane przez użytkownika (UDF) w programie Excel przy użyciu Pythona
Biblioteka Xlwings daje programistom możliwość programowego pisania funkcji zdefiniowanych przez użytkownika (UDF) w formacie plików Microsoft Excel. Obecnie funkcje UDF są dostępne tylko w systemie Windows. API umożliwia korzystanie z prostych funkcji, liczby wymiarów tablicy, dynamicznych formuł tablicowych, formuł tablicowych z NumPy i nie tylko.
Jak dzwonić Marcos przez RunPython w 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