1. Produkty
  2.   Arkusz
  3.   Python
  4.   Xlwings
 
  

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.

Previous Next

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
 Polski