Jak bezproblemowo zintegrować Pythona z Excelem za pomocą PyXLL

Jak bezproblemowo zintegrować Pythona z Excelem za pomocą PyXLL
Czytelnicy tacy jak Ty pomagają wspierać MUO. Kiedy dokonujesz zakupu za pomocą linków na naszej stronie, możemy otrzymać prowizję partnerską. Czytaj więcej.

PyXLL to narzędzie, które wypełnia lukę pomiędzy Microsoft Excel i Python. Umożliwia bezproblemową integrację kodu i funkcjonalności Pythona z arkuszami kalkulacyjnymi Excel. Dzięki PyXLL Excel staje się platformą do wykorzystania bibliotek i możliwości Pythona.





PyXLL służy jako dodatek do Excela. Można go używać do pisania funkcji i makr Pythona bezpośrednio w środowisku VBA Excela. PyXLL działa wówczas jako interpreter i uruchamia kod w komórkach Excela, otwierając wiele możliwości. Niektóre z nich obejmują automatyzację złożonych zadań, zaawansowaną analizę danych i wizualizację danych.





Przegląd PyXLL

PyXLL działa poprzez uruchomienie interpretera Pythona w procesie Excel. Daje to Twojemu kodowi Pythona działającemu w PyXLL bezpośredni dostęp do danych i obiektów Excela. Narzędzie jest napisane w języku C++ i wykorzystuje tę samą technologię, co Excel. Oznacza to, że kod Pythona działający w PyXLL jest zazwyczaj znacznie szybszy niż Kod VBA w Excelu .





Instalacja i konfiguracja

Aby zainstalować PyXLL, przejdź do Strona internetowa PyXLL i pobierz dodatek. Upewnij się, że wybrana wersja Pythona i Excela odpowiadają tym zainstalowanym w Twoim systemie. PyXLL jest dostępny tylko dla wersji programu Excel dla systemu Windows.

  Strona pobierania PyXLL

Po zakończeniu pobierania otwórz wiersz poleceń i uruchom to polecenie:



jak zmienić miejsce instalacji programów Windows 10
 pip install pyxll

Musisz zainstaluj Pip w swoim systemie aby powyższe polecenie zostało uruchomione. Następnie użyj pakietu PyXLL, aby zainstalować dodatek PyXLL:

 pyxll install 

Instalator zapyta, czy pobrałeś dodatek. Wpisz tak, a następnie podaj ścieżkę do pliku ZIP zawierającego dodatek. Następnie postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby dokończyć instalację.





Pierwsze kroki z PyXLL

Po zainstalowaniu wtyczki uruchom Excel. Przed uruchomieniem pojawi się monit z prośbą Rozpocząć proces Lub Kup Teraz . Wersja próbna wygaśnie po trzydziestu dniach i będziesz musiał kupić licencję, aby kontynuować korzystanie z PyXLL.

  Monit o wersję PyXLL

Kliknij na Rozpocząć proces przycisk. Spowoduje to uruchomienie programu Excel z zainstalowanym dodatkiem.





Na Zakładka Przykład PyXLL , Kliknij na O PyXLL przycisk. Spowoduje to wyświetlenie ścieżki, w której zainstalowano dodatek, wraz ze ścieżkami do plików konfiguracyjnych i dziennika.

  PyXLL o podpowiedzi w Excelu

Ścieżka zawierająca plik konfiguracyjny jest ważna, ponieważ później będzie trzeba edytować ten plik, więc zanotuj ją.

Udostępnianie funkcji Pythona Excelowi

Aby udostępnić funkcję języka Python w programie Excel jako funkcję zdefiniowaną przez użytkownika (UDF), użyj metody @xl_func dekorator. Ten dekorator instruuje PyXLL, aby zarejestrował funkcję w Excelu, udostępniając ją użytkownikom.

Na przykład, aby udostępnić plik Python fibonacciego() do Excela jako UDF, możesz użyć @xl_func dekorator w następujący sposób:

 from pyxll import xl_func 

@xl_func
def fibonacci(n):
  """
  This is a Python function that calculates the Fibonacci sequence.
  """
  if n < 0:
    raise ValueError("n must be non-negative")
  elif n == 0 or n == 1:
    return n
  else:
    return fibonacci(n - 1) + fibonacci(n - 2)

Zapisz ten kod z rozszerzeniem .py i zanotuj ścieżkę folderu, w którym zapisujesz plik.

Teraz otwórz plik konfiguracyjny PyXLL w edytorze i przewiń w dół do linii rozpoczynającej się od „pythonpath”. To ustawienie jest zazwyczaj listą folderów, w których PyXLL będzie wyszukiwał moduły Pythona. Dodaj ścieżkę do folderu zawierającego kod źródłowy funkcji Fibonacciego.

najlepsze darmowe aplikacje telewizyjne na Androida
  Lista folderów Pythona PyXLL

Następnie przewiń w dół do „modułów” i dodaj swój moduł. Na przykład, jeśli zapisałeś plik jako fibonacci.py , dodaj nazwę 'fibonacciego' do listy:

  Lista modułów pliku konfiguracyjnego PyXLL

Spowoduje to ujawnienie funkcji modułu korzystających z @xl_func dekorator do Excela. Następnie wróć do Excela i na Zakładka Przykład PyXLL , Kliknij na Załaduj ponownie PyXLL przycisk umożliwiający synchronizację zmian w pliku konfiguracyjnym. Następnie możesz wywołać Python Fibonacciego działać tak samo, jak każda inna formuła programu Excel.

  Funkcje Pythona w Excelu

Możesz utworzyć dowolną liczbę funkcji i udostępnić je Excelowi w ten sam sposób.

Przekazywanie danych pomiędzy Excelem i Pythonem

PyXLL obsługuje korzystanie z zewnętrznych bibliotek Pythona, takich jak Pandas. Umożliwia przekazywanie danych z tych bibliotek do Pythona i odwrotnie. Na przykład możesz użyj Pand, aby utworzyć losową ramkę danych i przekaż go do Excela. Upewnij się, że Pandas jest zainstalowana w Twoim systemie, a następnie wypróbuj ten kod:

 from pyxll import xl_func 
import pandas as pd
import numpy as np

@xl_func("int rows, int columns: dataframe<index=True>", auto_resize=True)
def random_dataframe(rows, columns):
   data = np.random.rand(rows, columns)
   column_names = [chr(ord('A') + x) for x in range(columns)]
   return pd.DataFrame(data, columns=column_names)

Powinieneś wykonać ten sam proces, aby udostępnić ten moduł i jego funkcje w programie Excel. Następnie spróbuj zadzwonić pod numer losowa_dataframe działają tak samo jak inne formuły programu Excel:

 =random_dataframe(10,5)

Możesz zmienić liczbę wierszy i kolumn według własnego uznania.

  Ramka danych w Excelu wygenerowana przez Pandy poprzez PyXLL

W ten sam sposób możesz przekazać predefiniowane ramki danych do programu Excel. Jest to również możliwe importuj dane Excela do skryptu Pythona za pomocą Pand .

Ograniczenia PyXLL

  • Zgodność z systemami Windows i Excel: PyXLL jest przeznaczony głównie dla systemu Windows i współpracuje z Microsoft Excel w systemie Windows. Może mieć ograniczoną funkcjonalność lub problemy ze zgodnością na platformach innych niż Windows, ponieważ jest zoptymalizowany pod kątem środowisk Windows.
  • Wdrożenie: Wdrażanie arkuszy kalkulacyjnych opartych na PyXLL dla użytkowników końcowych wymaga zainstalowania języka Python z minimalnymi zależnościami lub środowiska wykonawczego języka Python dołączonego do arkusza kalkulacyjnego. Oznacza to, że użytkownicy, którzy chcą korzystać z arkuszy kalkulacyjnych opartych na PyXLL, muszą mieć zainstalowany Python na swoich komputerach.
  • Krzywa uczenia się: Efektywne używanie PyXLL wymaga pewnej wiedzy na temat programowania w Pythonie i znajomości modelu obiektowego Excela. Użytkownicy, którzy nie są zaznajomieni z modelem obiektowym Pythona lub Excela, mogą potrzebować czasu na naukę tych koncepcji, zanim w pełni wykorzystają możliwości PyXLL.
  • Koszt licencji: PyXLL jest produktem komercyjnym i w zależności od sposobu użytkowania i wymagań, z używaniem go mogą wiązać się koszty licencji. Koszt korzystania z PyXLL zależy od takich czynników jak liczba użytkowników, skala wdrożenia i umowy licencyjne.

Czy nadal powinieneś używać funkcji Excela?

To zależy od tego, co chcesz osiągnąć. Zawsze warto korzystać z natywnych funkcji programu Excel, jeśli są one dostępne. Jednak w przypadku bardziej złożonych zadań, z którymi nie radzą sobie wbudowane funkcje Excela, PyXLL jest doskonałym rozwiązaniem.

Biblioteka Pandas stanowi doskonałe uzupełnienie PyXLL dzięki swoim możliwościom analitycznym i silnemu wsparciu przetwarzania danych.