CreateLoadedCellCursor metoda
Stvara pokazivač za povlačenje podataka nad pohranjenim ćelijama u učitanoj radnoj knjizi klasičnog XLS-a, 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
Obilazak slijedi izravno alocirane grane klasičnog razrjeđenog spremišta, pa stanje pokazivača ostaje nepromjenjivo i ne alocira polja dimenzionirana prema ograničenjima redaka ili stupaca radnog lista
Preopterećenje bez parametara preskače prazne ćelije i zadržava postojeći ugovor obilaska vrijednosti i formula
Proslijedite True za uključivanje pohranjenih praznih ćelija čiji se ćelijski XF razlikuje od naslijeđenog formata retka, stupca ili radnog lista
Samo naslijeđeno oblikovanje ne materijalizira niti ispušta praznu koordinatu
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 | Klasični indeks stila XF |
Kind | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula 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
Kod ćelija s formulom Value slijedi uobičajenu semantiku pristupa vrijednostima klasične radne knjige, uključujući izračun kada je to potrebno
Za xlckBlank vrijednost Value jest Unassigned, Formula je prazna, a StyleIndex identificira pohranjeni ćelijski XF
Stanje i poništavanje valjanosti
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, dodavanje, brisanje ili premještanje radnih listova te zamjena modela radne knjige 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
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;