Kun työtehtävässä ei ole Excel-toimintoa, Python-ohjelmoijat ottavat yhteyttä PyXLL: ään.

PyXLL on työkalu, joka kattaa Microsoft Excelin ja Pythonin välisen kuilun. Sen avulla voit integroida Python-koodia ja toimintoja saumattomasti Excel-laskentataulukoihin. PyXLL: n avulla Excelistä tulee alusta Pythonin kirjastojen ja ominaisuuksien hyödyntämiselle.

PyXLL toimii Excel-apuohjelmana. Sen avulla voit kirjoittaa Python-funktioita ja makroja suoraan Excelin VBA-ympäristössä. PyXLL toimii sitten tulkkina ja suorittaa koodin Excelin soluissa, mikä avaa monia mahdollisuuksia. Jotkut näistä sisältävät monimutkaisten tehtävien automatisoinnin, edistyneen data-analyysin ja tietojen visualisoinnin.

Yleiskatsaus PyXLL: stä

PyXLL toimii suorittamalla Python-tulkkia Excel-prosessissa. Tämä antaa PyXLL: ssä toimivalle Python-koodillesi suoran pääsyn Excel-tietoihin ja objekteihin. Työkalu on kirjoitettu C++-kielellä ja se käyttää samaa taustatekniikkaa kuin Excel. Tämä tarkoittaa, että PyXLL: ssä toimiva Python-koodi on tyypillisesti paljon nopeampi kuin Excel VBA koodi.

Asennus ja asennus

Asenna PyXLL siirtymällä kohtaan PyXLL-verkkosivusto ja lataa lisäosa. Varmista, että valitsemasi Python-versio ja Excel-versio vastaavat järjestelmääsi asennettuja. PyXLL on saatavilla vain Excelin Windows-versiolle.

Kun lataus on valmis, avaa komentokehote ja suorita tämä komento:

pip install pyxll

Sinun täytyy Pip on asennettu järjestelmääsi jotta yllä oleva komento suoritetaan. Asenna sitten PyXLL-apuohjelma PyXLL-paketilla:

pyxll install

Asennusohjelma kysyy, oletko ladannut lisäosan. Kirjoita yes ja anna sitten polku apuohjelman sisältävään zip-tiedostoon. Suorita asennus loppuun noudattamalla näytön ohjeita.

PyXLL: n käytön aloittaminen

Kun olet asentanut laajennuksen, käynnistä Excel. Ennen kuin se käynnistyy, näyttöön tulee kehote, joka pyytää sinua Aloita kokeilujakso tai Osta nyt. Kokeiluversio vanhenee 30 päivän kuluttua, ja sinun on sitten ostettava lisenssi jatkaaksesi PyXLL: n käyttöä.

Klikkaa Aloita kokeilujakso -painiketta. Tämä käynnistää Excelin asennetun apuohjelman kanssa.

Käytössä PyXLL-esimerkkivälilehti, Klikkaa Tietoja PyXLL: stä -painiketta. Tämä näyttää polun, johon asensit apuohjelman, sekä polut määritys- ja lokitiedostoihin.

Asetustiedoston sisältävä polku on tärkeä, koska joudut muokkaamaan tiedostoa myöhemmin, joten merkitse se muistiin.

Python-funktioiden paljastaminen Excelissä

Voit paljastaa Python-funktion Excelissä käyttäjän määrittämänä funktiona (UDF) käyttämällä @xl_func sisustusarkkitehti. Tämä sisustaja käskee PyXLL: ää rekisteröimään toiminnon Exceliin, jolloin se on käyttäjien käytettävissä.

Esimerkiksi Pythonin paljastamiseksi fibonacci () -funktion Exceliin UDF-tiedostona, voit käyttää @xl_func sisustaja seuraavasti:

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)

Tallenna tämä koodi .py-tunnisteella ja merkitse muistiin sen kansion polku, johon tallennat tiedoston.

Avaa nyt PyXLL-määritystiedosto editorissa ja vieritä alas riville, joka alkaa "pythonpath". Tämä asetus on yleensä luettelo kansioista, joista PyXLL etsii Python-moduuleja. Lisää polku kansioon, joka sisältää Fibonacci-funktion lähdekoodin.

Vieritä sitten alas kohtaan "moduulit" ja lisää moduulisi. Jos esimerkiksi tallensit tiedostosi nimellä fibonacci.py, lisää nimi"fibonacci" luetteloon:

Tämä paljastaa moduulitoiminnot, jotka käyttävät @xl_func sisustaja Exceliin. Palaa sitten Exceliin ja PyXLL-esimerkkivälilehti, Klikkaa Lataa PyXLL uudelleen -painiketta synkronoitavan määritystiedoston muutokset. Voit sitten kutsua Pythonin fibonacci toimii kuten mikä tahansa muu Excel-kaava.

Voit luoda niin monta funktiota kuin tarvitset ja paljastaa ne Excelissä samalla tavalla.

Tietojen välittäminen Excelin ja Pythonin välillä

PyXLL tukee ulkoisten Python-kirjastojen, kuten Pandas, käyttöä. Sen avulla voit siirtää tietoja näistä kirjastoista Pythonille ja päinvastoin. Voit esimerkiksi käytä Pandasta satunnaisen tietokehyksen luomiseen ja välitä se Exceliin. Varmista, että Pandas on asennettu järjestelmääsi, ja kokeile sitten tätä koodia:

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)

Sinun tulee noudattaa samaa prosessia paljastaaksesi tämän moduulin ja sen toiminnot Excelille. Yritä sitten soittaa random_dataframe toimii kuten muutkin Excel-kaavat:

=random_dataframe(10,5)

Voit muuttaa rivien ja sarakkeiden määrää haluamallasi tavalla.

Voit välittää ennalta määritetyt tietokehyksesi Exceliin samalla tavalla. On myös mahdollista tuo Excel-tiedot Python-skriptiin Pandasin avulla.

PyXLL: n rajoitukset

  • Windowsin ja Excelin yhteensopivuus: PyXLL on ensisijaisesti suunniteltu Windowsille ja toimii Microsoft Excelin kanssa Windowsissa. Sillä voi olla rajoitettuja toimintoja tai yhteensopivuusongelmia muissa kuin Windows-alustoissa, koska se on optimoitu Windows-ympäristöille.
  • Käyttöönotto: PyXLL-pohjaisten laskentataulukoiden käyttöönotto loppukäyttäjille edellyttää Pythonin asennettuna mahdollisimman vähäisin riippuvuuksin tai Python-ajonaikaisen laskentataulukon mukana. Tämä tarkoittaa, että käyttäjillä, jotka haluavat käyttää PyXLL-pohjaisia ​​laskentataulukoita, on oltava Python asennettuna koneisiinsa.
  • Oppimiskäyrä: PyXLL: n tehokas käyttäminen edellyttää Python-ohjelmoinnin tuntemusta ja Excelin objektimallin tuntemusta. Käyttäjät, jotka eivät tunne Pythonin tai Excelin objektimallia, saattavat joutua käyttämään aikaa näiden käsitteiden oppimiseen ennen PyXLL: n ominaisuuksien täysimääräistä hyödyntämistä.
  • Lisenssikustannukset: PyXLL on kaupallinen tuote, ja riippuen käytöstäsi ja vaatimuksistasi, sen käyttöön saattaa liittyä lisenssikuluja. PyXLL: n käyttökustannukset riippuvat tekijöistä, kuten käyttäjien määrästä, käyttöönoton laajuudesta ja lisenssisopimuksista.

Pitäisikö sinun silti käyttää Excel-funktioita?

Se riippuu siitä, mitä haluat saavuttaa. On aina järkevää käyttää alkuperäisiä Excel-funktioita, kun niitä on saatavilla. Mutta monimutkaisempiin tehtäviin, joita Excelin sisäänrakennetut toiminnot eivät pysty käsittelemään, PyXLL on erinomainen ratkaisu.

Pandas-kirjasto täydentää täydellisesti PyXLL: ää sen analyyttisten ominaisuuksien ja vahvan tiedonkäsittelyn tuen ansiosta.