CreateLoadedCellCursor metoda
Kreira kursor sa povlačenjem podataka nad uskladištenim ćelijama u učitanoj radnoj svesci klasičnog XLS-a, uz opciju uključivanja samostalno stilizovanih praznih ćelija
Sintaksa
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Redosled i trošak obilaska
Kursor obilazi radne listove u redosledu kolekcije, a zatim ćelije prema rastućem redu i koloni
SheetIndex, Rowi Col javne su koordinate koje počinju od jedan
Obilazak prati direktno alocirane grane klasičnog razređenog skladišta, pa stanje kursora ostaje nepromenljivo i ne alocira nizove dimenzionisana prema ograničenjima redova ili kolona radnog lista
Preopterećenje bez parametara preskače prazne ćelije i zadržava postojeći ugovor obilaska vrednosti i formula
Prosledite True za uključivanje uskladištenih praznih ćelija čiji se ćelijski XF razlikuje od nasleđenog formata reda, kolone ili radnog lista
Samo nasleđeno formatiranje ne materijalizuje niti ispisuje praznu koordinatu
Polja snimka
| Polje | Značenje |
|---|---|
SheetIndex / SheetName | Identitet radnog lista u vlasništvu u trenutku snimanja |
Row / Col | Koordinate ćelije koje počinju od jedan |
StyleIndex | Klasični indeks stila XF |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormulaili xlckBlank |
Value | Vrednost Variant u vlasništvu snimljena za tekuću ćeliju |
Formula | Tekst formule za ćelije sa formulom, inače prazan string |
Stringovi i Variant vrednosti u TXLSLoadedCellSnapshot vrednosti su u vlasništvu i ne izlažu unutrašnje objekte ćelija
Kod ćelija sa formulom Value prati uobičajenu semantiku pristupa vrednostima klasične radne sveske, uključujući izračunavanje kada je to potrebno
Za xlckBlankvrednost Value je Unassigned, Formula je prazna, a StyleIndex identifikuje uskladišteni ćelijski XF
Stanje i poništavanje važenja
State je TXLSLoadedCellCursorStatedo prvog uspešnog xlccBeforeFirst , MoveNextdok je xlccActive dostupan, i Current nakon završetka obilaska xlccEof after traversal completes
Čitanje Current pre prve ćelije ili nakon EOF-a podiže EXLSLoadedCellCursorState
Stvaranje ili brisanje uskladištenih ćelija, dodavanje, brisanje ili premeštanje radnih listova, kao i zamena modela radne sveske poništavaju važenje kursora
Sledeći poziv MoveNext ili Current tada podiže EXLSLoadedCellCursorInvalidated
Promena vrednosti, formule ili formata postojeće ćelije ne poništava važenje kursora, a već snimljeni snimak ostaje nepromenjen
Primer
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;