Τι είναι ένα αρχείο XLS;
Τα αρχεία με επέκταση XLS αντιπροσωπεύουν τη μορφή δυαδικού αρχείου του Excel. Τέτοια αρχεία μπορούν να δημιουργηθούν από το Microsoft Excel καθώς και από άλλα παρόμοια προγράμματα υπολογιστικών φύλλων όπως το OpenOffice Calc ή το Apple Numbers. Το αρχείο που αποθηκεύεται από το Excel είναι γνωστό ως Βιβλίο εργασίας όπου κάθε βιβλίο εργασίας μπορεί να έχει ένα ή περισσότερα φύλλα εργασίας. Τα δεδομένα αποθηκεύονται και εμφανίζονται στους χρήστες σε μορφή πίνακα σε φύλλο εργασίας και μπορούν να εκτείνονται σε αριθμητικές τιμές, δεδομένα κειμένου, τύπους, εξωτερικές συνδέσεις δεδομένων, εικόνες και γραφήματα. Εφαρμογές όπως το Microsoft Excel σάς επιτρέπουν να εξάγετε δεδομένα βιβλίου εργασίας σε πολλές διαφορετικές μορφές, όπως PDF, CSV, XLSX, TXT, HTML, XPS, και πολλά άλλα. Η μορφή αρχείου XLS αντικαταστάθηκε με μια πιο ανοιχτή και δομημένη μορφή, το XLSX, με την κυκλοφορία του Microsoft Excel 2007. Οι πιο πρόσφατες εκδόσεις εξακολουθούν να παρέχουν υποστήριξη για τη δημιουργία και την ανάγνωση αρχείων XLS, αν και το XLSX είναι η πρώτη επιλογή χρήσης τώρα.
Σύντομη Ιστορία
Το XLS δημιουργήθηκε από τη Microsoft για χρήση με το Microsoft Excel και είναι επίσης γνωστό ως Binary Interchange File Format (BIFF). Αυτός ο τύπος αρχείου εισήχθη για πρώτη φορά καθιστώντας τον μέρος του Excel για Windows το 1987. Οι προδιαγραφές μορφής αρχείου XLS δημοσιοποιήθηκαν για πρώτη φορά τον Ιούνιο του 2008 ως Αναθεώρηση 1. Μετά από αυτό, οι προδιαγραφές ενημερώνονταν συνεχώς και η τελευταία αναθεώρηση ήταν διαθέσιμη είναι από τον Αύγουστο του 2018 που επισημαίνεται ως Αναθεώρηση 8.0. Ένα σύντομο ιστορικό διαφορετικών εκδόσεων της μορφής αρχείου XLS έχει ως εξής:
- Έκδοση 7.0 (κυκλοφόρησε με το office 95): Αυτή η έκδοση του excel ήταν η πιο ισχυρή και ταχύτερη από όλες τις εκδόσεις και οι εσωτερικές επαναλήψεις ροής ενημερώθηκαν σε 32 bit.
- Έκδοση 8 (κυκλοφόρησε με το office 97): Η VBA εισήχθη ως τυπική γλώσσα και αφαιρέθηκαν ετικέτες φυσικής γλώσσας ενσωματώθηκαν σε αυτήν την έκδοση για πρώτη φορά. Παρουσίασε επίσης για πρώτη φορά έναν βοηθό γραφείου συνδετήρων.
- Έκδοση 9 (κυκλοφόρησε με το office 2000): Υπήρχαν μόνο μικρές αλλαγές στην έκδοση 9, όπου ο βοηθός γραφείου συνδετήρων μπορούσε να συγκρατεί ταυτόχρονα πολλά αντικείμενα που προηγουμένως δεν ήταν δυνατά.
- Έκδοση 10 (κυκλοφόρησε με το office XP): Αυτή η έκδοση δεν περιείχε κάποια αξιοσημείωτη βελτίωση.
- Έκδοση 11 (κυκλοφόρησε με το office 2003): Η σημαντική ενημέρωση στην έκδοση 11, excel 2003 ήταν η εισαγωγή νέων πινάκων.
Προδιαγραφές μορφής αρχείου XLS
Τα δεδομένα ταξινομούνται σε ένα αρχείο XLS ως δυαδικές ροές με τη μορφή ενός σύνθετου αρχείου όπως περιγράφεται στο [MS-CFB]. Τα δεδομένα αποθηκεύονται στο σύνθετο αρχείο χρησιμοποιώντας αποθηκευτικούς χώρους, ροές και υποροές που περιέχουν πληροφορίες σχετικά με το περιεχόμενο και τη δομή ενός βιβλίου εργασίας, συμπεριλαμβανομένων των δεδομένων του βιβλίου εργασίας, όπως οι ορισμοί των φύλλων εργασίας. Κάθε ροή ή υποροή περιέχει μια σειρά από δυαδικές εγγραφές. Κάθε δυαδική εγγραφή περιέχει μηδέν ή περισσότερα δομημένα πεδία που περιέχουν τα δεδομένα του βιβλίου εργασίας. Αυτή η ενότητα παρέχει μια σύντομη επισκόπηση της δομής αρχείου XLS, αλλά για λεπτομερείς προδιαγραφές μορφής αρχείου, πρέπει να συμβουλευτείτε τις [Προδιαγραφές σχηματισμού αρχείου XLS](https://msdn.microsoft.com/en-us/library/cc313154(v#office .12).aspx) έγγραφο από τη Microsoft.
Ροή και δευτερεύουσα ροή
Ένα βιβλίο εργασίας αντιπροσωπεύεται από τη ροή του βιβλίου εργασίας. Κάθε φύλλο εργασίας σε ένα βιβλίο εργασίας αντιπροσωπεύεται από Substreams. Επιπλέον, διαθέτει υποροή φύλλου γραφήματος, υποροή φύλλου μακροεντολών ή υποροής φύλλου διαλόγου που ακολουθεί την καθολική υποροή. Κάθε δυαδική ροή ή υποροή που περιέχει δεδομένα βιβλίου εργασίας ΠΡΕΠΕΙ να γράφεται ως μια σειρά δυαδικών εγγραφών.
Ρεκόρ
Οι πληροφορίες σχετικά με τις δυνατότητες σε ένα βιβλίο εργασίας αποθηκεύονται ως εγγραφή που είναι μια ακολουθία byte μεταβλητού μήκους. Μια δυαδική εγγραφή αποτελείται από τα ακόλουθα τρία στοιχεία:
Τύπος εγγραφής: Ο τύπος εγγραφής είναι ένας ακέραιος χωρίς υπογραφή δύο byte που καθορίζει ποιος τύπος πληροφοριών καθορίζεται από την εγγραφή και πώς ταξινομείται και δομείται η δομή των δεδομένων εγγραφής ειδικά για αυτήν την εγγραφή. Οι τιμές τύπου εγγραφής ΠΡΕΠΕΙ να είναι μια τιμή από την απαρίθμηση εγγραφών (ενότητα 2.3) ή η εγγραφή ΠΡΕΠΕΙ να χρησιμοποιεί τη μελλοντική αρχιτεκτονική εγγραφής (ενότητα 2.1.6).
Μέγεθος εγγραφής: Το μέγεθος εγγραφής είναι ένας ακέραιος χωρίς υπογραφή δύο byte που καθορίζει τον αριθμό των byte που καθορίζει το συνολικό μέγεθος των δεδομένων εγγραφής. Το μέγεθος εγγραφής ΠΡΕΠΕΙ να είναι μεγαλύτερο ή ίσο με 0 και ΠΡΕΠΕΙ να είναι μικρότερο ή ίσο με 8224.
Δεδομένα εγγραφής: Το στοιχείο δεδομένων εγγραφής περιέχει πεδία που αντιστοιχούν σε έναν συγκεκριμένο τύπο εγγραφής και αποτελούν το υπόλοιπο της εγγραφής. Η σειρά και η δομή των πεδίων για έναν δεδομένο τύπο εγγραφής καθορίζονται στην αντίστοιχη ενότητα για αυτόν τον τύπο εγγραφής. Το μέγεθος του στοιχείου δεδομένων εγγραφής ΠΡΕΠΕΙ να είναι ίσο με το μέγεθος της εγγραφής. Τα πεδία στο στοιχείο δεδομένων εγγραφής μπορούν να περιέχουν απλές τιμές, πίνακες τιμών, δομές πολλών πεδίων, πίνακες πεδίων και πίνακες δομών.
Πίνακας κυττάρων
Τα κελιά είναι τα θεμελιώδη μπλοκ ενός βιβλίου εργασίας που αποθηκεύουν τα περιεχόμενα του βιβλίου εργασίας, όπως κείμενο, τύπους και αριθμητικά δεδομένα. Τα κελιά διατηρούν την εγγραφή των αποθηκευμένων δεδομένων μέσω μιας δομής δεδομένων που ονομάζεται Πίνακας Κυψελών. Ο ίδιος ο Πίνακας Κυψελών αποθηκεύεται με την ακολουθία εγγραφών που συμμορφώνονται με τους κανόνες CELLTABLE που ορίζονται στο έγγραφο προδιαγραφών. Αποτελείται από μια σειρά μπλοκ σειρών όπου οι σειρές είναι διατεταγμένες σε μπλοκ σειρών. Κάθε μπλοκ σειρών περιέχει σειρές από την πρώτη σειρά που περιέχει δεδομένα έως την τελευταία σειρά που περιέχει δεδομένα.
Η μορφοποίηση δεδομένων ή σειράς αποθηκεύεται σε μια εγγραφή σειράς για κάθε μπλοκ σειρών. Κάθε κελί που περιέχει δεδομένα ή μεμονωμένη μορφοποίηση κελιών αντιπροσωπεύεται από μια εγγραφή. Η μορφοποίηση που σχετίζεται με ένα κελί μπορεί να προέρχεται από τη μορφοποίηση μεμονωμένων κελιών, τη μορφοποίηση σειρών, τη μορφοποίηση στηλών ή την προεπιλεγμένη μορφή κελιού. Η σειρά προτεραιότητας για τη μορφοποίηση είναι η μορφοποίηση μεμονωμένων κελιών με την υψηλότερη προτεραιότητα, ακολουθούμενη από τη μορφοποίηση σειρών και, στη συνέχεια, τη μορφοποίηση στηλών και, στη συνέχεια, την προεπιλεγμένη μορφή κελιού. Τα κελιά που δεν περιέχουν δεδομένα και δεν περιέχουν μεμονωμένη μορφοποίηση δεν αποθηκεύονται.
ΜΑΘΗΜΑΤΙΚΟΙ τυποι
Ένας τύπος είναι μια ακολουθία τιμών, αναφορών κελιών, ονομάτων, συναρτήσεων ή τελεστών σε ένα κελί που μαζί παράγουν μια νέα τιμή. Οι τύποι αποθηκεύονται σε μια συμβολική αναπαράσταση γνωστή ως “αναλυμένες εκφράσεις”. Μια αναλυμένη έκφραση μετατρέπεται σε τύπο κειμένου κατά το χρόνο εκτέλεσης για εμφάνιση και επεξεργασία από τον χρήστη. Οι τύποι κελιών καθορίζονται από την εγγραφή τύπου. Οι τύποι πίνακα καθορίζονται από την εγγραφή πίνακα. Οι κοινόχρηστοι τύποι καθορίζονται από την εγγραφή ShrFmla.
Διαγράμματα
Το φύλλο γραφήματος καθορίζει ένα γράφημα, ένα γραφικό που εμφανίζει δεδομένα ή τις σχέσεις μεταξύ συνόλων δεδομένων σε οπτική μορφή και μια κρυφή μνήμη δεδομένων γραφήματος, ένα τοπικό αντίγραφο των δεδομένων που χρησιμοποιούνται στα δεδομένα του γραφήματος λείπει ή εάν οι σύνδεσμοι προς εξωτερικούς οι πηγές δεδομένων είναι κατεστραμμένες. Το γράφημα καθορίζει ομάδες ενός ή δύο αξόνων, ένα σύνολο αξόνων με τους οποίους σχεδιάζονται τα δεδομένα του γραφήματος και το σύνολο των σειρών, των γραμμών τάσης και της γραμμής σφαλμάτων που καθορίζονται στο γράφημα. Κάθε ομάδα αξόνων καθορίζει μία έως τέσσερις ομάδες γραφημάτων που καθορίζουν τον τύπο απεικόνισης που χρησιμοποιείται για την εμφάνιση των δεδομένων. Κάθε σειρά, γραμμή τάσης και γραμμή σφάλματος καθορίζει μια ομάδα γραφημάτων με την οποία σχετίζεται.
Μεταδεδομένα
Τα μεταδεδομένα είναι πρόσθετα δεδομένα που σχετίζονται με ένα συγκεκριμένο κελί ή το περιεχόμενό του. Τα μεταδεδομένα καταγράφονται στο BIFF8 μόνο για μελλοντικούς σκοπούς επεκτασιμότητας.
Συγκεντρωτικοί πίνακες
Ένας Συγκεντρωτικός Πίνακας είναι ένας μηχανισμός για τη σύνοψη των δεδομένων πηγής για να έχετε μια επισκόπηση της διανομής αυτών των δεδομένων. Σε έναν Συγκεντρωτικό Πίνακα, οι ισχύουσες στήλες των δεδομένων προέλευσης γίνονται πεδία που μπορούν να χρησιμοποιηθούν για τη σύνοψη δεδομένων. Όταν τα δεδομένα προέλευσης του Συγκεντρωτικού Πίνακα είναι δεδομένα προέλευσης OLAP, οι ιεραρχίες OLAP και ορισμένες άλλες οντότητες OLAP γίνονται πεδία στον Συγκεντρωτικό πίνακα. Ένας Συγκεντρωτικός Πίνακας έχει δύο βασικά μέρη, μια συγκεντρωτική κρυφή μνήμη και μια προβολή Συγκεντρωτικού πίνακα. Μπορεί να υπάρχουν πολλαπλές προβολές Συγκεντρωτικού Πίνακα που βασίζονται σε μία Συγκεντρωτική Κάρταση που δεν είναι OLAP.
Στυλ
Αυτή η επισκόπηση περιγράφει τον τρόπο με τον οποίο καθορίζονται οι πληροφορίες μορφοποίησης και προστασίας για κελιά σε ένα φύλλο (1). Η μορφοποίηση κελιών αποτελείται από διάφορα σύνολα ιδιοτήτων:
- Ιδιότητες γραμματοσειράς (έντονη, πλάγια γραφή, χρώμα γραμματοσειράς, μέγεθος γραμματοσειράς κ.λπ.…)
- Ιδιότητες πλήρωσης (χρώμα προσκηνίου, χρώμα φόντου, μοτίβο, κλίση, κ.λπ.…)
- Ιδιότητες στοίχισης (στοίχιση αριστερά, κέντρο, δεξιά, κ.λπ.…)
- Ιδιότητες περιγράμματος (αριστερά, δεξιά, πάνω, κάτω, παχιά ή λεπτά, χρώμα, κ.λπ.…)
- Ιδιότητες μορφοποίησης αριθμών (ημερομηνία, ώρα, αριθμός δεκαδικών ψηφίων, κ.λπ.…)
- Ιδιότητες προστασίας (κλειδωμένο, κρυφό, κ.λπ.…)
Αυτές οι ιδιότητες, στο σύνολό τους, περιγράφουν πώς εμφανίζεται και εκτυπώνεται ένα συγκεκριμένο κελί.