Μέθοδος CreateLoadedCellCursor
Δημιουργεί έναν cursor έλξης πάνω από τα αποθηκευμένα κελιά ενός φορτωμένου βιβλίου εργασίας κλασικού XLS, με επιλογή συμπερίληψης κενών με ανεξάρτητη μορφοποίηση
Σύνταξη
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Σειρά διάσχισης και κόστος
Ο cursor επισκέπτεται τα φύλλα εργασίας με τη σειρά της συλλογής και στη συνέχεια τα κελιά με αύξουσα σειρά και στήλης
Τα SheetIndex, Row και Col είναι δημόσιες συντεταγμένες με αρίθμηση από τη μονάδα
Η διάσχιση ακολουθεί απευθείας τους δεσμευμένους κλάδους αραιής αποθήκευσης του κλασικού μοντέλου, ώστε η κατάσταση του cursor παραμένει σταθερή και δεν δεσμεύει πίνακες διαστάσεων σύμφωνα με τα όρια σειρών ή στηλών του φύλλου εργασίας
Η υπερφόρτωση χωρίς παραμέτρους παραλείπει τα κενά και διατηρεί τη συγκεκριμένη σύμβαση διάσχισης τιμών και τύπων
Περάστε True για να συμπεριλάβετε αποθηκευμένα κενά κελιά των οποίων το κελιακό XF διαφέρει από την κληρονομημένη μορφή σειράς, στήλης ή φύλλου εργασίας
Μόνο η κληρονομημένη μορφοποίηση δεν υλοποιεί ούτε εκπέμπει μια κενή συντεταγμένη
Πεδία στιγμιότυπου
| Πεδίο | Σημασία |
|---|---|
SheetIndex / SheetName | Η ταυτότητα του φύλλου εργασίας κατόχου τη στιγμή της λήψης |
Row / Col | Συντεταγμένες κελιού με αρίθμηση από τη μονάδα |
StyleIndex | Ευρετήριο στυλ κλασικού XF |
Kind | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula ή xlckBlank |
Value | Ιδιόκτητη τιμή Variant που λήφθηκε για το τρέχον κελί |
Formula | Κείμενο τύπου για κελιά τύπων, διαφορετικά κενή συμβολοσειρά |
Οι συμβολοσειρές και τα Variant στο TXLSLoadedCellSnapshot είναι ιδιόκτητες τιμές και δεν εκθέτουν εσωτερικά αντικείμενα κελιών
Για κελιά τύπων, η Value ακολουθεί την κανονική σημασιολογία πρόσβασης τιμών του κλασικού βιβλίου εργασίας, συμπεριλαμβανομένου του υπολογισμού όταν απαιτείται
Για το xlckBlank, η Value είναι Unassigned, το Formula είναι κενό και το StyleIndex ταυτοποιεί το αποθηκευμένο κελιακό XF
Κατάσταση και ακύρωση
Η State είναι xlccBeforeFirst μέχρι την πρώτη επιτυχημένη MoveNext, xlccActive όσο το Current είναι διαθέσιμο και xlccEof μετά την ολοκλήρωση της διάσχισης
Η ανάγνωση του Current πριν από το πρώτο κελί ή μετά το EOF εγείρει EXLSLoadedCellCursorState
Η δημιουργία ή διαγραφή αποθηκευμένων κελιών, η προσθήκη, διαγραφή ή μετακίνηση φύλλων εργασίας ή η αντικατάσταση του μοντέλου του βιβλίου εργασίας ακυρώνει τον cursor
Η επόμενη κλήση MoveNext ή Current εγείρει τότε EXLSLoadedCellCursorInvalidated
Η αλλαγή της τιμής, του τύπου ή της μορφής ενός υπάρχοντος κελιού δεν ακυρώνει τον cursor, και ένα ήδη ληφμένο στιγμιότυπο παραμένει αμετάβλητο
Παράδειγμα
Cursor := Workbook.CreateLoadedCellCursor;
while Cursor.MoveNext do
begin
Cell := Cursor.Current;
Memo1.Lines.Add(Format('%s!R%dC%d = %s',
[Cell.SheetName, Cell.Row, Cell.Col, VarToStr(Cell.Value)]));
end;