Ha az adott feladathoz nincs Excel-funkció, a Python programozók a PyXLL-t keresik.

A PyXLL egy olyan eszköz, amely áthidalja a Microsoft Excel és a Python közötti szakadékot. Lehetővé teszi a Python-kód és funkciók zökkenőmentes integrálását Excel-táblázatokba. A PyXLL segítségével az Excel platformmá válik a Python könyvtárainak és képességeinek kihasználásához.

A PyXLL Excel-bővítményként szolgál. Használhatja Python-függvények és makrók írására közvetlenül az Excel VBA-környezetében. A PyXLL ezután tolmácsként működik, és futtatja a kódot az Excel celláiban, sok lehetőséget megnyitva ezzel. Ezek közé tartozik az összetett feladatok automatizálása, a fejlett adatelemzés és az adatvizualizáció.

A PyXLL áttekintése

A PyXLL úgy működik, hogy Python értelmezőt futtat az Excel folyamaton belül. Ezáltal a PyXLL-ben futó Python-kód közvetlen hozzáférést biztosít az Excel adatokhoz és objektumokhoz. Az eszköz C++ nyelven íródott, és ugyanazt a mögöttes technológiát használja, mint az Excel. Ez azt jelenti, hogy a PyXLL-ben futó Python-kód általában sokkal gyorsabb, mint Excel VBA kód.

instagram viewer

Telepítés és beállítás

A PyXLL telepítéséhez lépjen a PyXLL webhely és töltse le a bővítményt. Győződjön meg arról, hogy a kiválasztott Python és Excel verzió megegyezik a rendszerében telepített verzióval. A PyXLL csak az Excel Windows-verziójához érhető el.

Amikor a letöltés befejeződött, nyisson meg egy parancssort, és futtassa a következő parancsot:

pip install pyxll

Neked kell telepítve van a Pip a rendszerében hogy a fenti parancs lefusson. Ezután használja a PyXLL csomagot a PyXLL bővítmény telepítéséhez:

pyxll install

A telepítő megkérdezi, hogy letöltötte-e a bővítményt. Írja be a yes-t, majd adja meg a bővítményt tartalmazó ZIP-fájl elérési útját. Ezután kövesse a képernyőn megjelenő utasításokat a telepítés befejezéséhez.

A PyXLL használatának első lépései

Miután telepítette a bővítményt, indítsa el az Excelt. Mielőtt elindulna, megjelenik egy felszólítás, amely erre kéri Indítsa el a próbaverziót vagy Vásárolj most. A próbaverzió harminc nap múlva lejár, és a PyXLL használatának folytatásához licencet kell vásárolnia.

Kattintson a Indítsa el a próbaverziót gomb. Ezzel elindítja az Excelt a telepített bővítménnyel.

A PyXLL példa lap, kattintson a A PyXLL-ről gomb. Ez megmutatja azt az elérési utat, amelyre a bővítményt telepítette, valamint a konfigurációs és naplófájlok elérési útját.

A konfigurációs fájl elérési útja fontos, mivel később szerkesztenie kell a fájlt, ezért jegyezze fel.

Python-függvények expozíciója az Excelben

Ha egy Python-függvényt felhasználói definiált függvényként (UDF) szeretne megjeleníteni az Excelben, használja a @xl_func lakberendező. Ez a dekorátor arra utasítja a PyXLL-t, hogy regisztrálja a függvényt az Excelben, elérhetővé téve azt a felhasználók számára.

Például egy Python megjelenítéséhez fibonacci () függvényt az Excelhez UDF-ként, használhatja a @xl_func dekorátor az alábbiak szerint:

from pyxll import xl_func

@xl_func
deffibonacci(n):

This is a Python function that calculates the Fibonacci sequence.

if n < 0:
raise ValueError("n must be non-negative")
elif n == 0or n == 1:
return n
else:
return fibonacci(n - 1) + fibonacci(n - 2)

Mentse el ezt a kódot .py kiterjesztéssel, és jegyezze fel annak a mappának az elérési útját, amelybe a fájlt menti.

Most nyissa meg a PyXLL konfigurációs fájlt egy szerkesztőben, és görgessen le a "pythonpath" kezdetű sorhoz. Ez a beállítás általában azoknak a mappáknak a listája, amelyekben a PyXLL Python modulokat keres. Adja hozzá a Fibonacci függvény forráskódját tartalmazó mappához az elérési utat.

Ezután görgessen le a „modulok” részhez, és adja hozzá a modult. Például, ha a fájlt a következő néven mentette el fibonacci.py, adja hozzá a "fibonacci" nevet a listához:

Ez feltárja azokat a modulfunkciókat, amelyek a @xl_func dekorátor Excelbe. Ezután térjen vissza az Excelhez, és a PyXLL példa lap, kattintson a Töltse be újra a PyXLL-t gombot a szinkronizálandó konfigurációs fájl módosításaihoz. Ezután meghívhatja a Python-t fibonacci úgy működik, mint bármely más Excel képletnél.

Létrehozhat annyi függvényt, amennyire szüksége van, és ugyanúgy megjelenítheti az Excelben.

Adattovábbítás az Excel és a Python között

A PyXLL támogatja a külső Python-könyvtárak, például a Pandas használatát. Lehetővé teszi az adatok továbbítását ezekből a könyvtárakból a Pythonba és fordítva. Például megteheti használja a Pandákat egy véletlenszerű adatkeret létrehozásához és adja át az Excelnek. Győződjön meg arról, hogy a Pandas telepítve van a rendszerében, majd próbálja ki ezt a kódot:

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

@xl_func("int rows, int columns: dataframe", auto_resize=True)
defrandom_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)

Ugyanezt a folyamatot kell követnie ahhoz, hogy a modult és funkcióit Excelben megjelenítse. Ezután próbálja felhívni a random_dataframe úgy működik, mint egy másik Excel képletnél:

=random_dataframe(10,5)

A sorok és oszlopok számát tetszés szerint módosíthatja.

Az előre meghatározott adatkereteket ugyanúgy átadhatja az Excelnek. Az is lehetséges importálja az Excel-adatokat a Python-szkriptbe a Pandas segítségével.

A PyXLL korlátai

  • Windows és Excel kompatibilitás: A PyXLL elsősorban Windows rendszerre készült, és a Windows rendszeren futó Microsoft Excel programmal működik. Korlátozott funkcionalitási vagy kompatibilitási problémákkal járhat nem Windows platformokon, mivel Windows környezetekre van optimalizálva.
  • Üzembe helyezés: A PyXLL-alapú táblázatok végfelhasználók számára történő üzembe helyezéséhez minimális függőséggel kell telepíteni a Pythont, vagy a táblázathoz mellékelt Python-futási környezetet kell telepíteni. Ez azt jelenti, hogy azoknak a felhasználóknak, akik PyXLL-alapú táblázatokat szeretnének használni, telepíteni kell a Python programot a gépeikre.
  • Tanulási görbe: A PyXLL hatékony használatához szükség van a Python programozási ismeretekre és az Excel objektummodelljére. Azoknak a felhasználóknak, akik nem ismerik a Python vagy az Excel objektummodelljét, lehet, hogy időt kell fordítaniuk ezeknek a fogalmaknak a megtanulására, mielőtt teljes mértékben kihasználnák a PyXLL képességeit.
  • Licencköltség: A PyXLL kereskedelmi termék, és az Ön használatától és követelményeitől függően licencköltségek merülhetnek fel a használatához. A PyXLL használatának költsége olyan tényezőktől függ, mint a felhasználók száma, a telepítés mértéke és a licencszerződések.

Használnia kell továbbra is az Excel függvényeket?

Attól függ, hogy mit akarsz elérni. Mindig érdemes natív Excel-függvényeket használni, ha rendelkezésre állnak. De bonyolultabb feladatokhoz, amelyeket az Excel beépített funkciói nem tudnak kezelni, a PyXLL kiváló megoldás.

A Pandas könyvtár elemző képességeivel és az adatfeldolgozás erős támogatásával tökéletes kiegészítője a PyXLL-nek.