Dokumentacija HotXLS

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

PoljeZnačenje
SheetIndex / SheetNameIdentitet radnog lista u vlasništvu u trenutku snimanja
Row / ColKoordinate ćelije koje počinju od jedan
StyleIndexKlasični indeks stila XF
Kind (TXLSLoadedCellKind)xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormulaili xlckBlank
ValueVrednost Variant u vlasništvu snimljena za tekuću ćeliju
FormulaTekst 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;

Vidi takođe