Πώς να ενσωματώσετε απρόσκοπτα την Python στο Excel χρησιμοποιώντας το PyXLL

Πώς να ενσωματώσετε απρόσκοπτα την Python στο Excel χρησιμοποιώντας το PyXLL
Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Το 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.

  Σελίδα λήψης PyXLL

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



 pip install pyxll

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

 pyxll install 

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





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

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

πώς να αλλάξετε το όνομα ατμού σας
  Ερώτηση έκδοσης PyXLL

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





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

  PyXLL σχετικά με την ερώτηση στο Excel

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

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

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

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

 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)

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

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

  Λίστα φακέλων PyXLL pythonpath

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

  Λίστα μονάδων αρχείων διαμόρφωσης PyXLL

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

  Συναρτήσεις 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<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)

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

 =random_dataframe(10,5)

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

  Πλαίσιο δεδομένων στο Excel που δημιουργείται από τα Pandas μέσω του PyXLL

Μπορείτε να μεταβιβάσετε τα προκαθορισμένα πλαίσια δεδομένων σας στο 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 με τις αναλυτικές της δυνατότητες και την ισχυρή υποστήριξη για την επεξεργασία δεδομένων.