Όταν δεν υπάρχει συνάρτηση Excel για τη συγκεκριμένη εργασία, οι προγραμματιστές της Python προσεγγίζουν το PyXLL.

Το PyXLL είναι ένα εργαλείο που γεφυρώνει το χάσμα μεταξύ Microsoft Excel και Python. Σας επιτρέπει να ενσωματώνετε απρόσκοπτα τον κώδικα και τη λειτουργικότητα της Python σε υπολογιστικά φύλλα του Excel. Με το PyXLL, το Excel γίνεται μια πλατφόρμα για την αξιοποίηση των βιβλιοθηκών και των δυνατοτήτων της Python.

Το PyXLL χρησιμεύει ως πρόσθετο του Excel. Μπορείτε να το χρησιμοποιήσετε για να γράψετε συναρτήσεις Python και μακροεντολές απευθείας στο περιβάλλον VBA του Excel. Στη συνέχεια, το PyXLL λειτουργεί ως διερμηνέας και εκτελεί τον κώδικα μέσα στα κελιά του Excel, ανοίγοντας πολλές δυνατότητες. Μερικά από αυτά περιλαμβάνουν την αυτοματοποίηση πολύπλοκων εργασιών, την προηγμένη ανάλυση δεδομένων και την οπτικοποίηση δεδομένων.

Μια επισκόπηση του PyXLL

Το PyXLL λειτουργεί εκτελώντας έναν διερμηνέα Python μέσα στη διαδικασία του Excel. Αυτό δίνει στον κώδικα Python, που εκτελείται σε PyXLL, άμεση πρόσβαση σε δεδομένα και αντικείμενα του Excel. Το εργαλείο είναι γραμμένο σε C++ και χρησιμοποιεί την ίδια υποκείμενη τεχνολογία με το Excel. Αυτό σημαίνει ότι ο κώδικας Python που εκτελείται στο PyXLL είναι συνήθως πολύ πιο γρήγορος από αυτόν

Κώδικας Excel VBA.

Εγκατάσταση και Ρύθμιση

Για να εγκαταστήσετε το PyXLL, κατευθυνθείτε στο Ιστότοπος PyXLL και κατεβάστε το πρόσθετο. Βεβαιωθείτε ότι η έκδοση Python και η έκδοση Excel που θα επιλέξετε ταιριάζουν με αυτές που είναι εγκατεστημένες στο σύστημά σας. Το PyXLL είναι διαθέσιμο μόνο για την έκδοση του Excel για Windows.

Όταν ολοκληρωθεί η λήψη, ανοίξτε μια γραμμή εντολών και εκτελέστε αυτήν την εντολή:

pip install pyxll

Πρέπει να έχετε εγκαταστήσει το Pip στο σύστημά σας για να εκτελεστεί η παραπάνω εντολή. Στη συνέχεια, χρησιμοποιήστε το πακέτο PyXLL για να εγκαταστήσετε το πρόσθετο PyXLL:

pyxll install

Το πρόγραμμα εγκατάστασης θα σας ρωτήσει εάν έχετε πραγματοποιήσει λήψη του πρόσθετου. Εισαγάγετε ναι και, στη συνέχεια, δώστε τη διαδρομή προς το αρχείο zip που περιέχει το πρόσθετο. Στη συνέχεια, ακολουθήστε τις οδηγίες που εμφανίζονται στην οθόνη για να ολοκληρώσετε την εγκατάσταση.

Ξεκινώντας με το PyXLL

Μόλις εγκαταστήσετε την προσθήκη, εκκινήστε το Excel. Πριν από την εκκίνηση, θα εμφανιστεί ένα μήνυμα που θα σας το ζητήσει Έναρξη δοκιμής ή Αγορασε τωρα. Η δοκιμαστική έκδοση θα λήξει μετά από τριάντα ημέρες και στη συνέχεια θα χρειαστεί να αγοράσετε μια άδεια χρήσης για να συνεχίσετε να χρησιμοποιείτε το PyXLL.

Κάνε κλικ στο Έναρξη δοκιμής κουμπί. Αυτό θα εκκινήσει το Excel με το εγκατεστημένο πρόσθετο.

Στο Καρτέλα Παράδειγμα PyXLL, Κάνε κλικ στο Σχετικά με το PyXLL κουμπί. Αυτό θα σας δείξει τη διαδρομή στην οποία εγκαταστήσατε το πρόσθετο, μαζί με διαδρομές προς τις ρυθμίσεις παραμέτρων και τα αρχεία καταγραφής.

Η διαδρομή που περιέχει το αρχείο διαμόρφωσης είναι σημαντική καθώς θα χρειαστεί να επεξεργαστείτε αυτό το αρχείο αργότερα, οπότε σημειώστε το.

Έκθεση συναρτήσεων Python στο Excel

Για να εκθέσετε μια συνάρτηση Python στο Excel ως συνάρτηση που ορίζεται από το χρήστη (UDF), χρησιμοποιήστε το @xl_func διακοσμητής. Αυτός ο διακοσμητής δίνει εντολή στην PyXLL να καταχωρήσει τη συνάρτηση στο Excel, καθιστώντας τη διαθέσιμη στους χρήστες.

Για παράδειγμα, για να εκθέσετε μια Python fibonacci () λειτουργούν στο Excel ως UDF, μπορείτε να χρησιμοποιήσετε το @xl_func διακοσμητής ως εξής:

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)

Αποθηκεύστε αυτόν τον κώδικα με μια επέκταση .py και σημειώστε τη διαδρομή του φακέλου στον οποίο αποθηκεύετε το αρχείο.

Τώρα, ανοίξτε το αρχείο διαμόρφωσης PyXLL σε ένα πρόγραμμα επεξεργασίας και μετακινηθείτε προς τα κάτω σε μια γραμμή που αρχίζει "pythonpath". Αυτή η ρύθμιση είναι συνήθως μια λίστα φακέλων που θα αναζητήσει η PyXLL για λειτουργικές μονάδες Python. Προσθέστε τη διαδρομή στο φάκελο που περιέχει τον πηγαίο κώδικα της συνάρτησης Fibonacci.

Στη συνέχεια, κάντε κύλιση προς τα κάτω στις "ενότητες" και προσθέστε την ενότητα σας. Για παράδειγμα, εάν αποθηκεύσατε το αρχείο σας ως fibonacci.py, προσθέστε το όνομα "fibonacci" στη λίστα:

Αυτό θα εκθέσει τις λειτουργίες της μονάδας που χρησιμοποιούν το @xl_func διακοσμητής στο Excel. Στη συνέχεια, επιστρέψτε στο Excel και, στο Καρτέλα Παράδειγμα PyXLL, Κάνε κλικ στο Επαναφόρτωση PyXLL κουμπί για τις αλλαγές στο αρχείο διαμόρφωσης προς συγχρονισμό. Στη συνέχεια, μπορείτε να καλέσετε την Python Φιμπονάτσι λειτουργούν όπως θα κάνατε με οποιονδήποτε άλλο τύπο του Excel.

Μπορείτε να δημιουργήσετε όσες λειτουργίες χρειάζεστε και να τις εκθέσετε στο Excel με τον ίδιο τρόπο.

Διαβίβαση δεδομένων μεταξύ Excel και Python

Το PyXLL υποστηρίζει τη χρήση εξωτερικών βιβλιοθηκών Python, όπως οι Pandas. Σας επιτρέπει να μεταφέρετε δεδομένα από αυτές τις βιβλιοθήκες στην Python και αντίστροφα. Για παράδειγμα, μπορείτε χρησιμοποιήστε το Pandas για να δημιουργήσετε ένα τυχαίο πλαίσιο δεδομένων και περάστε το στο Excel. Βεβαιωθείτε ότι το Pandas είναι εγκατεστημένο στο σύστημά σας και, στη συνέχεια, δοκιμάστε αυτόν τον κωδικό:

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)

Θα πρέπει να ακολουθήσετε την ίδια διαδικασία για να εκθέσετε αυτήν την ενότητα και τις λειτουργίες της στο Excel. Στη συνέχεια, δοκιμάστε να καλέσετε το random_dataframe λειτουργεί όπως θα κάνατε με άλλους τύπους Excel:

=random_dataframe(10,5)

Μπορείτε να αλλάξετε τον αριθμό των γραμμών και στηλών όπως θέλετε.

Μπορείτε να μεταβιβάσετε τα προκαθορισμένα πλαίσια δεδομένων σας στο Excel με τον ίδιο τρόπο. Είναι επίσης δυνατό να εισάγετε δεδομένα Excel στο σενάριο Python χρησιμοποιώντας Pandas.

Περιορισμοί του PyXLL

  • Συμβατότητα με Windows και Excel: Το PyXLL έχει σχεδιαστεί κυρίως για Windows και λειτουργεί με το Microsoft Excel σε Windows. Ενδέχεται να έχει περιορισμένα προβλήματα λειτουργικότητας ή συμβατότητας σε πλατφόρμες που δεν είναι Windows, καθώς είναι βελτιστοποιημένο για περιβάλλοντα Windows.
  • Ανάπτυξη: Η ανάπτυξη υπολογιστικών φύλλων που υποστηρίζονται από PyXLL σε τελικούς χρήστες απαιτεί από αυτούς να έχουν εγκαταστήσει την Python με ελάχιστες εξαρτήσεις ή τον χρόνο εκτέλεσης Python να συνοδεύεται από το υπολογιστικό φύλλο. Αυτό σημαίνει ότι οι χρήστες που θέλουν να χρησιμοποιήσουν υπολογιστικά φύλλα που υποστηρίζονται από PyXLL πρέπει να έχουν εγκατεστημένη την Python στους υπολογιστές τους.
  • Καμπύλη εκμάθησης: Η αποτελεσματική χρήση του PyXLL απαιτεί κάποια γνώση προγραμματισμού Python και εξοικείωση με το μοντέλο αντικειμένου του Excel. Οι χρήστες που δεν είναι εξοικειωμένοι με το μοντέλο αντικειμένου της Python ή του Excel μπορεί να χρειαστεί να αφιερώσουν χρόνο στην εκμάθηση αυτών των εννοιών προτού χρησιμοποιήσουν πλήρως τις δυνατότητες του PyXLL.
  • Κόστος Άδειας Χρήσης: Το PyXLL είναι ένα εμπορικό προϊόν και ανάλογα με τη χρήση και τις απαιτήσεις σας, ενδέχεται να υπάρχουν έξοδα αδειοδότησης που σχετίζονται με τη χρήση του. Το κόστος χρήσης του PyXLL εξαρτάται από παράγοντες όπως ο αριθμός των χρηστών, η κλίμακα ανάπτυξης και οι συμφωνίες αδειοδότησης.

Θα πρέπει να εξακολουθείτε να χρησιμοποιείτε τις συναρτήσεις του Excel;

Εξαρτάται από το τι θέλεις να πετύχεις. Είναι πάντα λογικό να χρησιμοποιείτε εγγενείς συναρτήσεις του Excel όταν είναι διαθέσιμες. Όμως, για πιο σύνθετες εργασίες, τις οποίες οι ενσωματωμένες λειτουργίες του Excel δεν μπορούν να χειριστούν, το PyXLL είναι μια εξαιρετική λύση.

Η βιβλιοθήκη Pandas είναι ένα τέλειο συμπλήρωμα για την PyXLL με τις αναλυτικές της δυνατότητες και την ισχυρή υποστήριξη για την επεξεργασία δεδομένων.