Η διαφορά μεταξύ XLSX και JSON
Η μετατροπή ενός αρχείου Excel (XLSX) σε JSON δεν είναι ίδια με τη μετατροπή σε CSV. Ένα XLSX αρχείο είναι στην πραγματικότητα ένα συμπιεσμένο αρχείο XML (ZIP) που περιέχει πολλαπλά φύλλα εργασίας, τύπους κελιών, τύπους, μορφοποίηση και μεταδεδομένα. Το JSON, από την άλλη, είναι μια δομημένη, τυποποιημένη μορφή δεδομένων που υποστηρίζει αντικείμενα, πίνακες, αριθμούς, booleans, null και συμβολοσειρές. Αυτή η θεμελιώδης διαφορά σημαίνει ότι μια μετατροπή XLSX → JSON μπορεί να διατηρήσει την τυπική φύση των δεδομένων: έναν αριθμό 42 παραμένει αριθμός 42, ένα boolean TRUE παραμένει true, ενώ μια ημερομηνία γίνεται συμβολοσειρά ISO 8601. Αντίθετα, το CSV αναγκάζει τα πάντα σε συμβολοσειρές με εισαγωγικά.
Το εργαλείο αυτό εκμεταλλεύεται αυτή τη δυνατότητα. Διαβάζει την πρώτη σελίδα του XLSX και παράγει ένα JSON που αναπαριστά τον πίνακα ως μια σειρά αντικειμένων, όπου η πρώτη γραμμή του φύλλου γίνεται τα κλειδιά (ονόματα στηλών) και κάθε επόμενη γραμμή γίνεται ένα αντικείμενο με αυτά τα κλειδιά. Αριθμητικές, λογικές και κενές τιμές αποδίδονται ως native JSON types. Η μορφοποίηση (χρώματα, γραμματοσειρές, όρια κελιών) χάνεται, όπως και οι τύποι (formulas) — αυτό που βλέπετε στο κελί είναι η αποθηκευμένη τιμή, όχι το αποτέλεσμα υπολογισμού. Ούτε δημιουργούνται αυτόματα ένθετες δομές JSON, γιατί η πηγή είναι ένας επίπεδος πίνακας.
Το σημαντικότερο: η μετατροπή γίνεται εξ ολοκλήρου στο πρόγραμμα περιήγησής σας. Κανένα αρχείο δεν μεταφορτώνεται σε διακομιστή. Η ανάγνωση του XLSX γίνεται τοπικά, οπότε τα δεδομένα σας παραμένουν ιδιωτικά. Αυτό το ξεχωρίζει από σχεδόν κάθε online υπηρεσία που απαιτεί ανέβασμα αρχείου. Δεν χρειάζεται λογαριασμός, δεν υπάρχει όριο ταχύτητας ανταλλαγής δεδομένων και η επεξεργασία είναι άμεση.
Πώς λειτουργεί η μετατροπή
Είσοδος: μεταφέρετε ή επιλέξτε ένα μοναδικό αρχείο XLSX.
Έξοδος: ένα αρχείο JSON έτοιμο για λήψη. Πριν τη λήψη, βλέπετε μια προεπισκόπηση του αποτελέσματος. Επίσης εμφανίζονται:
- ο αριθμός των γραμμών και στηλών του πίνακα που μετατράπηκε
- το μέγεθος αρχείου του JSON εξόδου
Το πρόγραμμα περιήγησης διαβάζει το αρχείο XLSX, εξάγει τις τιμές από το πρώτο φύλλο εργασίας και τις μετατρέπει σε έναν πίνακα αντικειμένων JSON. Η διαδικασία είναι σχεδόν στιγμιαία για αρχεία μερικών χιλιάδων γραμμών. Ο χρήστης δεν χρειάζεται να εγκαταστήσει τίποτα, να κάνει εγγραφή ή να δεχτεί cookies.
Το εργαλείο διαβάζει μόνο το πρώτο φύλλο εργασίας του αρχείου XLSX. Εάν έχετε ένα βιβλίο εργασίας με πολλά φύλλα, μόνο το πρώτο μετατρέπεται. Οι τύποι δεν υπολογίζονται. Το αρχείο XLSX αποθηκεύει τόσο την έκφραση του τύπου όσο και την πιο πρόσφατα αποθηκευμένη τιμή. Το εργαλείο διαβάζει μόνο την αποθηκευμένη τιμή. Η μορφοποίηση κελιών — γραμματοσειρές, χρώματα, μοτίβα γεμίσματος, περιγράμματα, πλάτη στηλών, ύψη γραμμών — απορρίπτεται. Τα συγχωνευμένα κελιά διατηρούν μόνο την τιμή τους στην επάνω αριστερή γωνία.
Ολόκληρη η μετατροπή εκτελείται στο πρόγραμμα περιήγησής σας. Το πρόγραμμα περιήγησής σας αναλύει το βιβλίο εργασίας και γράφει την μετατρεπόμενη έξοδο στη συσκευή σας. Δεν αποστέλλονται δεδομένα σε διακομιστή. Αυτό έχει δύο συνέπειες:
- Απόρρητο: εάν το XLSX σας περιέχει ευαίσθητα δεδομένα, δεν φεύγουν ποτέ από το μηχάνημά σας. Δεν υπάρχει βήμα μεταφόρτωσης για καταγραφή ή έλεγχο.
- Ταχύτητα: για αρχεία κάτω από το όριο μεγέθους, η μετατροπή ολοκληρώνεται σε λίγα δευτερόλεπτα. Δεν υπάρχει καθυστέρηση δικτύου.
Το εργαλείο επιβάλλει όρια: 8 MB ανά αρχείο, 10.000 γραμμές και 200 στήλες ανά πίνακα. Εάν ξεπεραστεί οποιοδήποτε όριο, η μετατροπή σταματά και εμφανίζεται ένα κατάλληλο σφάλμα. Μια μετατροπή που διαρκεί περισσότερο από περίπου 12 δευτερόλεπτα σταματά επίσης, με το μήνυμα «Αυτή η μετατροπή καθυστερεί πολύ. Δοκιμάστε ένα μικρότερο αρχείο.».
Το εργαλείο εμφανίζει συγκεκριμένα μηνύματα σφάλματος για γνωστές περιπτώσεις αποτυχίας:
- «Επιλέξτε ένα αρχείο CSV, JSON ή XLSX.» – το επιλεγμένο αρχείο δεν είναι αρχείο CSV, JSON ή XLSX.
- «Αδυναμία ανοίγματος αυτού του αρχείου Excel.» – το XLSX είναι κατεστραμμένο, δεν είναι στην πραγματικότητα ένα αρχείο ZIP ή παραβιάζει την προδιαγραφή OOXML.
- «Αυτό το αρχείο δεν περιέχει γραμμές πίνακα.» – το πρώτο φύλλο εργασίας είναι εντελώς κενό. Ένα φύλλο με μόνο μια γραμμή κεφαλίδας δεν είναι σφάλμα: μετατρέπεται σε έναν κενό πίνακα (``).
- «This file is too large. Use a file under 8 MB.» – το μέγεθος του αρχείου υπερβαίνει το όριο των 8 MB.
- «Αδυναμία μετατροπής αυτού του αρχείου.» – μια απροσδόκητη αποτυχία που δεν αντιστοιχεί σε πιο συγκεκριμένο σφάλμα.
- «Η μετατροπή ακυρώθηκε.» – ακυρώσατε τη μετατροπή, για παράδειγμα διαγράφοντας το επιλεγμένο αρχείο ενώ εκτελούνταν.
- «Αυτή η μετατροπή καθυστερεί πολύ. Δοκιμάστε ένα μικρότερο αρχείο.» – η μετατροπή ξεπέρασε το όριο των περίπου 12 δευτερολέπτων, συνήθως επειδή το βιβλίο εργασίας είναι πολύ μεγάλο.
Τι συμβαίνει με τα δεδομένα: τύποι κελιών και τύποι
Το Excel αποθηκεύει κάθε κελί με έναν υποκείμενο τύπο: αριθμός, ημερομηνία, boolean, κείμενο ή λάθος. Το εργαλείο προσπαθεί να διατηρήσει αυτή την πληροφορία όταν δημιουργεί το JSON. Ακολουθεί ένας χάρτης αντιστοίχισης:
| Τύπος κελιού στο Excel | Τύπος JSON | Παράδειγμα |
|---|---|---|
| Αριθμός (Number) | number | 42 ή 3.14 |
| Boolean | boolean | true ή false |
| Κείμενο (String) | string | "Προϊόν Α" |
| Ημερομηνία (Date) | string | "2025-03-18T00:00:00.000Z" (ISO 8601) |
| Κενό (Empty) | null | null |
Προσοχή: οι ημερομηνίες αποδίδονται σε μορφή ISO 8601 με ώρα μηδέν. Αν το Excel είχε προσαρμοσμένη μορφή ημερομηνίας (π.χ. 18/3/2025), η μετατροπή θα δώσει πάντα την τυπική μορφή ISO. Αυτό μπορεί να μην ταιριάζει με το format που περιμένετε. Για να το διορθώσετε, θα πρέπει να μετατρέψετε τις ημερομηνίες στο Excel σε κείμενο πριν τη μετατροπή ή να επεξεργαστείτε το JSON μετά.
Τύποι (formulas): το XLSX αποθηκεύει τόσο τον τύπο όσο και την αποθηκευμένη τιμή (cached value). Το εργαλείο διαβάζει την αποθηκευμένη τιμή. Δεν υπολογίζει ξανά τον τύπο. Αν δηλαδή ένα κελί έχει =A1+B1 αλλά το A1 είναι κενό, η αποθηκευμένη τιμή μπορεί να είναι το τελευταίο αποτέλεσμα πριν αδειάσει, ή λάθος. Η μετατροπή δεν υπολογίζει τίποτα. Αν χρειάζεστε υπολογισμένες τιμές, φροντίστε πρώτα να υπολογίσετε και να αποθηκεύσετε το Excel (πατήστε Save) ώστε να ενσωματωθούν τα αποτελέσματα.
Μορφοποίηση και συγχωνευμένα κελιά: χρώματα, γραμματοσειρές, όρια, στοίχιση — όλα χάνονται. Τα συγχωνευμένα κελιά (merged cells) μετατρέπονται σύμφωνα με την τιμή του πάνω αριστερού κελιού. Τα υπόλοιπα κελιά της συγχώνευσης εμφανίζονται ως κενά (null). Αν η πρώτη σειρά του φύλλου δεν είναι επίπεδη (π.χ. κεφαλίδες σε δύο γραμμές), το εργαλείο αντιμετωπίζει την πρώτη γραμμή ως κλειδιά και οι υπόλοιπες ως δεδομένα — με αποτέλεσμα συχνά να δημιουργούνται κενά ή διπλότυπα κλειδιά.
Περιορισμοί και κανόνες
Το εργαλείο έχει σαφή όρια για την αποφυγή υπερφόρτωσης:
- Μέγεθος αρχείου: Το αρχείο πρέπει να είναι το πολύ 8 MB. Αν το αρχείο υπερβαίνει αυτό το όριο, εμφανίζεται το μήνυμα: «This file is too large. Use a file under ‹max›.» (όπου ‹max› το εκάστοτε μέγιστο).
- Γραμμές και στήλες: Ο πίνακας μπορεί να έχει το πολύ 10.000 γραμμές και 200 στήλες. Αν ο πίνακας υπερβαίνει αυτά τα όρια, βλέπετε το αντίστοιχο μήνυμα λάθους: π.χ. «This file has too many rows.» ή «This file has too many columns.»
- Μόνο το πρώτο φύλλο: διαβάζεται μόνο το πρώτο φύλλο εργασίας. Αν χρειάζεστε δεδομένα από άλλα φύλλα, πρέπει να τα εξάγετε ξεχωριστά (π.χ. αποθηκεύοντας το κάθε φύλλο ως ξεχωριστό XLSX).
- Λάθη ανάγνωσης: αν το XLSX δεν μπορεί να αναλυθεί (π.χ. κατεστραμμένο αρχείο), εμφανίζεται: «Αδυναμία ανοίγματος αυτού του αρχείου Excel.»
- Κενός πίνακας: αν το πρώτο φύλλο δεν έχει γραμμές δεδομένων (πέρα από κεφαλίδα ή τίποτα), εμφανίζεται: «Αυτό το αρχείο δεν περιέχει γραμμές πίνακα.»
- Λάθη τύπου αρχείου: αν επιλέξετε αρχείο που δεν είναι XLSX, CSV ή JSON (τα μόνα υποστηριζόμενα formats), βλέπετε: «Επιλέξτε ένα αρχείο CSV, JSON ή XLSX.»
- Γενικό λάθος ή ακύρωση: «Αδυναμία μετατροπής αυτού του αρχείου.» ή «Η μετατροπή ακυρώθηκε.»
- Χρονικό όριο: αν η μετατροπή διαρκεί περισσότερο από περίπου 12 δευτερόλεπτα, σταματάει και εμφανίζεται: «Αυτή η μετατροπή καθυστερεί πολύ. Δοκιμάστε ένα μικρότερο αρχείο.»
Όλα αυτά τα μηνύματα εμφανίζονται αυτόματα στη διεπαφή. Δεν υπάρχει δυνατότητα παράκαμψης — τα όρια είναι ενσωματωμένα.
Συνιστώμενη πρακτική: πριν τη μετατροπή, ανοίξτε το XLSX και αφαιρέστε τυχόν κρυφές γραμμές/στήλες, συγχωνευμένα κελιά, σχόλια, ή περιττά φύλλα. Βεβαιωθείτε ότι η πρώτη γραμμή είναι μια επίπεδη κεφαλίδα χωρίς κενά κελιά. Αποθηκεύστε το αρχείο (για να σταθεροποιηθούν οι αποθηκευμένες τιμές τύπων) και μετά κάνετε τη μετατροπή.
Ποιος χρειάζεται αυτό το εργαλείο
- Προγραμματιστές ιστού που λαμβάνουν δεδομένα προϊόντων ή πελατών σε Excel και θέλουν να τα ενσωματώσουν σε μια εφαρμογή ή API. Το JSON είναι η φυσική γλώσσα της JavaScript, οπότε η μετατροπή είναι απλή.
- Αναλυτές δεδομένων που θέλουν να προετοιμάσουν μια τριμηνιαία αναφορά (XLSX) για περαιτέρω επεξεργασία σε Python, R ή άλλα εργαλεία. Το JSON είναι εύκολο να φορτωθεί και να ελεγχθεί.
- Ομάδες που συνεργάζονται με εξωτερικούς συνεργάτες που προτιμούν το JSON αντί για Excel. Αντί να εγκαταστήσετε ένα πρόγραμμα ή να γράψετε ένα script, η μετατροπή είναι άμεση.
- Χρήστες που ενδιαφέρονται για την ιδιωτικότητα και δεν θέλουν να ανεβάσουν ευαίσθητα δεδομένα (π.χ. μισθοδοσία, οικονομικά στοιχεία) σε cloud υπηρεσίες. Το γεγονός ότι όλα γίνονται τοπικά στο πρόγραμμα περιήγησης είναι κρίσιμο.
Συχνές ερωτήσεις
1. Γιατί η ημερομηνία μου εμφανίζεται ως "2025-03-18T00:00:00.000Z" αντί για "18/03/2025";
Το εργαλείο παράγει JSON και οι ημερομηνίες αποδίδονται στη διεθνή τυποποιημένη μορφή ISO 8601. Δεν διατηρείται η προσαρμοσμένη μορφοποίηση του Excel. Μπορείτε να μετατρέψετε τις ημερομηνίες σε κείμενο στο Excel πριν τη μετατροπή ή να χρησιμοποιήσετε ένα εργαλείο επεξεργασίας JSON (π.χ. jq) για να τις μετασχηματίσετε μετά.
2. Το XLSX μου έχει πολλά φύλλα. Θα μετατραπούν όλα;
Όχι. Διαβάζεται μόνο το πρώτο φύλλο εργασίας. Αν χρειάζεστε δεδομένα από άλλα φύλλα, αποθηκεύστε κάθε φύλλο ως ξεχωριστό XLSX και μετατρέψτε το ένα προς ένα.
3. Χάνονται τα δεδομένα από συγχωνευμένα κελιά;
Τα συγχωνευμένα κελιά αποδίδονται σύμφωνα με την τιμή του πάνω αριστερού κελιού. Τα υπόλοιπα κελιά της συγχώνευσης γίνονται κενά strings. Αν η συγχώνευση περιέχει δεδομένα που πρέπει να διατηρηθούν, καλύτερα να την καταργήσετε (unmerge) και να γεμίσετε τα κελιά πριν τη μετατροπή.
4. Το αρχείο μου είναι μεγάλο (πάνω από 10 MB). Μπορώ να το μετατρέψω;
Υπάρχει ένα ανώτατο όριο μεγέθους 8 MB. Αν το αρχείο υπερβαίνει το όριο, θα εμφανιστεί μήνυμα λάθους. Δεν υπάρχει τρόπος να το παρακάμψετε. Μπορείτε να δοκιμάσετε να μειώσετε το μέγεθος αφαιρώντας φύλλα, γραμμές ή στήλες.
5. Μπορώ να μετατρέψω CSV σε JSON με το ίδιο εργαλείο;
Ναι, η σελίδα μετατρέπει αρχεία CSV σε JSON.
6. Τι συμβαίνει αν το Excel μου έχει τύπους (π.χ. =SUM(A1:A10));
Το εργαλείο δεν υπολογίζει τους τύπους. Χρησιμοποιεί την τελευταία αποθηκευμένη τιμή (cached value) του κελιού. Για να είστε σίγουροι, ανοίξτε το Excel, αφήστε να υπολογιστούν οι τύποι, αποθηκεύστε και μετά κάντε τη μετατροπή.