HotXLS dokumentáció

CreateLoadedCellCursor metódus

Pull típusú kurzort hoz létre egy betöltött classic XLS munkafüzet tárolt cellái felett, azzal a lehetőséggel, hogy önállóan formázott üres cellákat is belefoglaljon

Szintaxis

function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(
  AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;

Bejárási sorrend és költség

A kurzor a munkalapokat a gyűjtemény sorrendjében, majd a cellákat növekvő sor- és oszlopsorrendben járja be

A SheetIndex, Row és Col 1-alapú nyilvános koordináták

A bejárás közvetlenül a lefoglalt classic ritka tárolási ágakat követi, így a kurzorállapot állandó marad, és nem foglal le a munkalap sor- vagy oszloplimitjeinek megfelelő méretű tömböket

A paraméternélküli túlterhelés kihagyja az üres cellákat, és megőrzi a meglévő érték- és képletbejárási szerződést

Adjon meg True értéket az olyan tárolt üres cellák belefoglalásához, amelyek cella-XF-je eltér az örökölt sor-, oszlop- vagy munkalapformátumtól

Csak az örökölt formázás nem materializál és nem bocsát ki üres koordinátát

Pillanatkép-mezők

MezőJelentés
SheetIndex / SheetNameA tulajdonos munkalap identitása a rögzítés időpontjában
Row / Col1-alapú cellakoordináták
StyleIndexClassic XF stílusindex
Kind (TXLSLoadedCellKind)xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula vagy xlckBlank
ValueAz aktuális cellához rögzített, saját tulajdonú Variant érték
FormulaKéplet szövege képletcellák esetén, egyébként üres karakterlánc

A TXLSLoadedCellSnapshot karakterláncai és Variant értékei saját tulajdonú értékek, és nem fedik fel a belső cellaobjektumokat

Képletcelláknál a Value a klasszikus munkafüzet szokásos értékelérési szemantikáját követi, beleértve a számítást, ha az szükséges

xlckBlank esetén a Value Unassigned, a Formula üres, a StyleIndex pedig a tárolt cella-XF-et azonosítja

Állapot és érvénytelenítés

A State (típusa TXLSLoadedCellCursorState) xlccBeforeFirst az első sikeres MoveNext-ig, xlccActive, amíg a Current elérhető, és xlccEof a bejárás befejezése után

A Current olvasása az első cella előtt vagy az EOF után EXLSLoadedCellCursorState kivételt vált ki

Tárolt cellák létrehozása vagy törlése, munkalapok hozzáadása, törlése vagy mozgatása, illetve a munkafüzet-modell cseréje érvényteleníti a kurzort

A következő MoveNext vagy Current hívás ezután EXLSLoadedCellCursorInvalidated kivételt vált ki

Egy meglévő cella értékének, képletének vagy formátumának módosítása nem érvényteleníti a kurzort, és egy már rögzített pillanatkép változatlan marad

Példa

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;

Lásd még