Σημείωση
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Μολονότι οι ενέργειες Excel μπορούν να χειρίζονται τα περισσότερα σενάρια αυτοματισμού του Excel, τα ερωτήματα SQL μπορούν να ανακτήσουν και να χειρίζονται σημαντικά ποσά δεδομένων του Excel πιο αποτελεσματικά.
Ας υποθέσουμε ότι μια ροή πρέπει να τροποποιεί μόνο τα αρχεία Excel που περιέχουν μια συγκεκριμένη τιμή. Για να επιτύχετε αυτήν τη λειτουργικότητα χωρίς ερωτήματα SQL, χρειάζεστε βρόχους, όρους και πολλές ενέργειες του Excel.
Εναλλακτικά, μπορείτε να υλοποιήσετε αυτήν τη λειτουργικότητα με ερωτήματα SQL χρησιμοποιώντας μόνο δύο ενέργειες, την ενέργεια Άνοιγμα σύνδεσης SQL και την ενέργεια Εκτέλεση πρότασης SQL.
Άνοιγμα σύνδεσης SQL σε αρχείο Excel
Πριν την εκτέλεση ενός ερωτήματος SQL, πρέπει να ανοίξετε μια σύνδεση με το αρχείο Excel στο οποίο θέλετε να αποκτήσετε πρόσβαση.
Για να δημιουργήσετε τη σύνδεση, δημιουργήστε μια νέα μεταβλητή με όνομα %Excel_File_Path% και αρχικοποιήσετε τη με τη διαδρομή αρχείου Excel. Προαιρετικά, μπορείτε να παραλείψετε αυτό το βήμα και να χρησιμοποιήσετε την κωδικοποιημένη διαδρομή του αρχείου αργότερα στη ροή.
Τώρα, αναπτύξτε την ενέργεια Ανοίγματος σύνδεσης Open SQL και συμπληρώστε την παρακάτω συμβολοσειρά σύνδεσης στις ιδιότητές της.
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%Excel_File_Path%;Extended Properties="Excel 12.0 Xml;HDR=YES";
Σημείωμα
Για να χρησιμοποιήσετε επιτυχώς τη συμβολοσειρά σύνδεσης που παρουσιάζεται, πρέπει να κάνετε λήψη και εγκατάσταση του Microsoft Access Database Engine 2010 Redistributable.
Άνοιγμα σύνδεσης SQL σε αρχείο Excel με προστασία κωδικού πρόσβασης
Απαιτείται διαφορετική προσέγγιση σε σενάρια όπου εκτελείτε ερωτήματα SQL σε αρχεία Excel που προστατεύονται με κωδικό πρόσβασης. Η ενέργεια Ανοίγματος σύνδεσης SQL δεν μπορεί να συνδεθεί σε αρχεία Excel που προστατεύονται με κωδικό πρόσβασης, επομένως πρέπει να καταργήσετε την προστασία.
Για να το επιτύχετε αυτό, εκκινήστε το αρχείο Excel χρησιμοποιώντας την ενέργεια Εκκίνηση του Excel. Το αρχείο είναι προστατευμένο με κωδικό πρόσβασης, επομένως συμπληρώστε τον κατάλληλο κωδικό πρόσβασης στο πεδίο Κωδικός πρόσβασης.
Στη συνέχεια, αναπτύξτε τις κατάλληλες ενέργειες αυτοματοποίησης περιβάλλοντος εργασίας χρήστη και μεταβείτε στο Αρχείο>Πληροφορίες>Προστασία βιβλίου εργασίας>Κρυπτογράφηση με κωδικό πρόσβασης. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με την αυτοματοποίηση περιβάλλοντος εργασίας χρήστη και τον τρόπο χρήσης των αντίστοιχων ενεργειών στην αυτοματοποίηση εφαρμογών επιφάνειας εργασίας.
Αφού επιλέξετε Κρυπτογράφηση με κωδικό πρόσβασης, συμπληρώστε μια κενή συμβολοσειρά στο αναδυόμενο παράθυρο διαλόγου χρησιμοποιώντας την ενέργεια Συμπλήρωση πεδίου κειμένου στα παράθυρα. Για να συμπληρώσετε μια κενή συμβολοσειρά, χρησιμοποιήστε την ακόλουθη παράσταση: %""%.
Για να πατήσετε το κουμπί OK στο παράθυρο διαλόγου και να εφαρμόσετε τις αλλαγές, αναπτύξτε την ενέργεια Πατήστε το κουμπί στο παράθυρο.
Τέλος, αναπτύξτε την ενέργεια Κλείσιμο του Excel για να αποθηκεύσετε το μη προστατευμένο βιβλίο εργασίας ως νέο αρχείο Excel.
Αφού αποθηκεύσετε το αρχείο, ακολουθήστε τις οδηγίες στην επιλογή Άνοιγμα μιας σύνδεσης SQL σε ένα αρχείο Excel, για να ανοίξετε μια σύνδεση σε αυτό.
Όταν ολοκληρωθεί η επεξεργασία του αρχείου Excel, χρησιμοποιήστε την ενέργεια Διαγραφή αρχείων για να διαγράψετε το μη προστατευμένο αντίγραφο του αρχείου Excel.
Ανάγνωση των περιεχομένων ενός υπολογιστικού φύλλου του Excel
Μολονότι η ενέργεια του φύλλου εργασίας Ανάγνωση από φύλλο εργασίας Excel μπορεί να διαβάσει τα περιεχόμενα ενός φύλλου εργασίας Excel, οι βρόχοι μπορεί να χρειαστούν σημαντικό χρόνο για επαναλήψεις στα δεδομένα που ανακτήθηκαν.
Ένας πιο αποτελεσματικός τρόπος ανάκτησης συγκεκριμένων τιμών από υπολογιστικά φύλλα είναι η αντιμετώπιση αρχείων Excel ως βάσεων δεδομένων και η εκτέλεση ερωτημάτων SQL σε αυτά. Αυτή η προσέγγιση είναι ταχύτερη και αυξάνει την απόδοση της ροής.
Για να ανακτήσετε όλα τα περιεχόμενα ενός υπολογιστικού φύλλου, μπορείτε να χρησιμοποιήσετε το παρακάτω ερώτημα SQL στην ενέργεια Εκτέλεση πρότασης SQL.
SELECT * FROM [SHEET$]
Σημείωμα
Για να εφαρμόσετε αυτό το ερώτημα SQL στις ροές σας, αντικαταστήστε το σύμβολο κράτησης θέσης SHEET με το όνομα του υπολογιστικού φύλλου στο οποίο θέλετε να αποκτήσετε πρόσβαση.
Για να ανακτήσετε τις γραμμές που περιέχουν μια συγκεκριμένη τιμή σε μια συγκεκριμένη στήλη, χρησιμοποιήστε το παρακάτω ερώτημα SQL:
SELECT * FROM [SHEET$] WHERE [COLUMN NAME] = 'VALUE'
Σημείωμα
Για να εφαρμόσετε αυτό το ερώτημα SQL στις ροές σας, αντικαταστήστε:
- SHEET με το όνομα του υπολογιστικού φύλλου στο οποίο θέλετε να αποκτήσετε πρόσβαση.
- COLUMN NAME με τη στήλη που περιέχει την τιμή που θέλετε να βρείτε. Οι στήλες στην πρώτη γραμμή του φύλλου εργασίας Excel αναγνωρίζονται ως τα ονόματα στηλών του πίνακα.
- VALUE με την τιμή που θέλετε να βρείτε.
Διαγραφή δεδομένων από γραμμή Excel
Παρόλο που το Excel δεν υποστηρίζει το ερώτημα DELETE SQL, μπορείτε να χρησιμοποιήσετε το ερώτημα UPDATE για να ορίσετε όλα τα κελιά μιας συγκεκριμένης γραμμής σε null.
Για μεγαλύτερη ακρίβεια, μπορείτε να χρησιμοποιήσετε το παρακάτω ερώτημα SQL:
UPDATE [SHEET$] SET [COLUMN1]=NULL, [COLUMN2]=NULL WHERE [COLUMN1]='VALUE'
Κατά την ανάπτυξη της ροής σας πρέπει να αντικαταστήσετε το σύμβολο κράτησης θέσης SHEET με το όνομα του υπολογιστικού φύλλου στο οποίο θέλετε να αποκτήσετε πρόσβαση.
Τα σύμβολα κράτησης θέσης COLUMN1 και COLUMN2 αντιπροσωπεύουν τα ονόματα των στηλών προς χειρισμό. Αυτό το παράδειγμα έχει δύο στήλες, αλλά σε ένα πραγματικό σενάριο, ο αριθμός των στηλών μπορεί να είναι διαφορετικός. Οι στήλες στην πρώτη γραμμή του φύλλου εργασίας Excel αναγνωρίζονται ως τα ονόματα στηλών του πίνακα.
Το τμήμα [COLUMN1]='VALUE' του ερωτήματος καθορίζει τη γραμμή που θέλετε να ενημερώσετε. Στη ροή σας, χρησιμοποιήστε το όνομα στήλης και την τιμή με βάση το συνδυασμό που περιγράφει τις γραμμές με μοναδικό τρόπο.
Ανάκτηση δεδομένων Excel εκτός από μια συγκεκριμένη γραμμή
Σε ορισμένα σενάρια, ενδέχεται να χρειαστεί να ανακτήσετε όλα τα περιεχόμενα ενός υπολογιστικού φύλλου του Excel εκτός από μια συγκεκριμένη γραμμή.
Ένας κατάλληλος τρόπος για να επιτύχετε αυτό είναι να ορίσετε τις τιμές της ανεπιθύμητης γραμμής σε null και, στη συνέχεια, να ανακτήσετε όλες τις τιμές εκτός από τις τιμές null.
Για να αλλάξετε τις τιμές μιας συγκεκριμένης γραμμής στο υπολογιστικό φύλλο, μπορείτε να χρησιμοποιήσετε ένα ερώτημα SQL UPDATE, όπως παρουσιάζονται στην προβολή Διαγραφή δεδομένων από μια γραμμή Excel:
UPDATE [SHEET$] SET [COLUMN1]=NULL, [COLUMN2]=NULL WHERE [COLUMN1]='VALUE'
Στη συνέχεια, εκτελέστε το παρακάτω ερώτημα SQL για να ανακτήσετε όλες τις γραμμές του υπολογιστικού φύλλου που δεν περιέχουν τιμές null:
SELECT * FROM [SHEET$] WHERE [COLUMN1] IS NOT NULL OR [COLUMN2] IS NOT NULL
Τα σύμβολα κράτησης θέσης COLUMN1 και COLUMN2 αντιπροσωπεύουν τα ονόματα των στηλών προς χειρισμό. Αυτό το παράδειγμα έχει δύο στήλες, αλλά σε έναν πραγματικό πίνακα, ο αριθμός των στηλών μπορεί να είναι διαφορετικός. Όλες οι στήλες στην πρώτη γραμμή του φύλλου εργασίας Excel αναγνωρίζονται ως τα ονόματα στηλών του πίνακα.