Τεκμηρίωση HotXLS

Μέθοδος 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
KindxlckText, 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;

Δείτε επίσης