Κλάση TXLSForwardReader
Το TXLSForwardReader παρουσιάζει μία προβαλλόμενη επιφάνεια που καθοδηγείται από επανακλήσεις για κλασική είσοδο XLS, σύγχρονη XLSX, CSV και TSV, χωρίς να κατασκευάζει πλήρες αντικειμενοστραφές μοντέλο βιβλίου εργασίας
Μορφή εισόδου
Το TXLSForwardFormat επιλέγει αυτόματη ανίχνευση ή εξαναγκάζει την ανάλυση XLS, XLSX, CSV ή TSV
Το ReadFile ανοίγει μια ονοματισμένη πηγή και το ReadStream διαβάζει από την τρέχουσα θέση της ροής του καλούντα επαναφέροντας τη θέση αυτή κατά την επιστροφή
Προβολή και όρια σειρών
Το IncludeColumn προσθέτει μια στήλη με βάση το μηδέν στο σύνολο προβολής σταθερής χρονικής πολυπλοκότητας, το ClearColumnProjection επαναφέρει την έξοδο όλων των στηλών και το HasColumnProjection αναφέρει αν η προώθηση είναι ενεργή
Τα FirstRow και LastRow εφαρμόζουν όρια σειρών με βάση το 1 πριν από την αποστολή επανακλήσεων, επιτρέποντας στους αναλυτές να σταματήσουν μετά το ζητούμενο διάστημα
Επανακλήσεις και μετατροπή τιμών
| OnSheet | Λαμβάνει το όνομα κάθε φύλλου εργασίας και μπορεί να παραλείψει ένα φύλλο ή να διακόψει ολόκληρη την ανάγνωση |
| OnCell | Λαμβάνει τη σειρά, τη στήλη, το ευρετήριο στυλ, τον κανονικοποιημένο τύπο, την ακατέργαστη τιμή και το κείμενο τύπου για κάθε προβαλλόμενο κελί |
| DetectDates | Χρησιμοποιεί τις μορφές αριθμών του βιβλίου εργασίας για τον εντοπισμό τιμών ημερομηνίας και ώρας |
| DetectTextTypes | Μετατρέπει τα πεδία CSV και TSV σε υποστηριζόμενους βαθμωτούς τύπους όπου δεν υπάρχει αμφισημία |
| PreserveRichText | Διατηρεί μορφοποιημένα τμήματα κειμένου και φωνητικό φορτίο όπου η μορφή πηγής τα υποστηρίζει |
| ValueSeparator | Παρακάμπτει το διαχωριστικό πεδίων κειμένου όταν η ανίχνευση μορφής δεν είναι κατάλληλη |
Κατάσταση ολοκλήρωσης
Το CellCount αναφέρει τα αποσταλμένα κελιά και το Aborted διακρίνει την ακύρωση από τον καλούντα από την κανονική ολοκλήρωση
Παράδειγμα
Reader := TXLSForwardReader.Create;
try
Reader.FirstRow := 2;
Reader.IncludeColumn(0);
Reader.IncludeColumn(4);
Reader.OnSheet := ReadSheet;
Reader.OnCell := ReadCell;
Reader.ReadFile('large-input.xlsx', xffAuto);
finally
Reader.Free;
end;
Επιλογή API ροής
Χρησιμοποιήστε το TXLSForwardReader όταν μία διαδρομή εφαρμογής πρέπει να δέχεται πολλές μορφές, το TXLSDirectReader για διάταξη ειδική για XLSX, rich-text και παράλληλα γεγονότα φύλλου εργασίας, ή το TXLSRowCursor για επανάληψη σειρών XLSX με έλξη