CreateLoadedCellCursor metoda
Stvara pokazivač za povlačenje podataka nad pohranjenim ćelijama u učitanoj XLSX radnoj knjizi, uz opciju uključivanja samostalno stiliziranih praznih ćelija
Sintaksa
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Redoslijed i trošak obilaska
Pokazivač obilazi radne listove u redoslijedu zbirke, a zatim ćelije prema rastućem retku i stupcu
SheetIndex, Row i Col javne su koordinate koje broje od jedan
Materijalizirani radni listovi čitaju se izravno iz njihovih alociranih razrjeđenih blokova od 256 redaka bez izgradnje sortiranog popisa ćelija
Pakirani radni listovi čitaju se izravno kroz iterator pakiranog spremišta i nakon obilaska ostaju pakirani
Stanje pokazivača konstantno je u odnosu na veličinu radne knjige i ne alocira polja dimenzionirana prema ograničenjima redaka ili stupaca XLSX-a
Preopterećenje bez parametara preskače prazne ćelije samo sa stilom, pohranjene rezervirane vrijednosti Empty i pohranjene rezervirane vrijednosti Null
Proslijedite True za uključivanje samostalno stiliziranih praznih koordinata iz materijaliziranog ili pakiranog spremišta bez materijalizacije pakiranih ćelija
Nestilizirane rezervirane vrijednosti Empty i Null ostaju isključene u oba načina rada
Polja snimka
| Polje | Značenje |
|---|---|
SheetIndex / SheetName | Identitet radnog lista u vlasništvu u trenutku snimanja |
Row / Col | Koordinate ćelije koje broje od jedan |
StyleIndex | XLSX indeks formata ćelije snimljen iz materijaliziranog ili pakiranog spremišta |
Kind | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, xlckError ili xlckBlank |
Value | Vrijednost Variant u vlasništvu snimljena za trenutačnu ćeliju |
Formula | Tekst formule za ćelije s formulom, inače prazan niz znakova |
Znakovni nizovi i Variant vrijednosti u TXLSLoadedCellSnapshot vrijednosti su u vlasništvu i ne izlažu unutarnje objekte ćelija ni pokazivače na pakirano spremište
Kod XLSX ćelija s formulom Value jest trenutačno pohranjena predmemorirana vrijednost, a obilazak ne izračunava formulu ponovno
Za xlckBlank vrijednost Value jest Unassigned, Formula je prazna, a StyleIndex identificira pohranjeni format ćelije
Stanje, poništavanje valjanosti i životni vijek
State jest xlccBeforeFirst do prvog uspješnog MoveNext, xlccActive dok je Current dostupan, i xlccEof nakon završetka obilaska
Čitanje Current prije prve ćelije ili nakon EOF-a podiže EXLSLoadedCellCursorState
Stvaranje ili brisanje pohranjenih ćelija, materijalizacija pakiranog spremišta, izričita ponovna izgradnja indeksa te dodavanje, brisanje, premještanje ili pražnjenje radnih listova poništavaju valjanost pokazivača
Sljedeći poziv MoveNext ili Current tada podiže EXLSLoadedCellCursorInvalidated
Promjena vrijednosti, formule ili formata postojeće ćelije ne poništava valjanost pokazivača, a već snimljeni snimak ostaje nepromijenjen
Otpuštanje radne knjige prije pokazivača također podiže EXLSLoadedCellCursorInvalidated umjesto da ostavi pokazivač s visećim pokazivačem na radnu knjigu
Provjera generacija otkrivanje je s trenutačnim prekidom i ne čini istodobnu mutaciju i obilazak sigurnima za niti
Primjer
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;