HotXLS-documentatie

CreateLoadedCellCursor-methode

Maakt een pull-cursor aan over opgeslagen cellen in een geladen klassieke XLS-werkmap, met een optie om onafhankelijk opgemaakte lege cellen op te nemen

Syntaxis

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

Doorloopvolgorde en kosten

De cursor bezoekt werkbladen in verzamelvolgorde en daarna cellen op oplopende rij en kolom

SheetIndex, Rowen Col zijn openbare coördinaten met basis 1

De doorloop volgt rechtstreeks de toegewezen takken van de klassieke sparse-opslag, zodat de cursorstatus constant blijft en er geen arrays worden gereserveerd op de grootte van de rij- of kolomlimieten van het werkblad

De overload zonder parameters slaat lege cellen over en behoudt het bestaande contract voor de doorloop van waarden en formules

Geef True door om opgeslagen lege cellen op te nemen waarvan de cel-XF afwijkt van het overgeërfde formaat van rij, kolom of werkblad

Alleen overgeërfde opmaak materialiseert geen lege coördinaat en geeft er geen door

Momentopnamevelden

VeldBetekenis
SheetIndex / SheetNameIdentiteit van het eigenende werkblad op het moment van vastleggen
Row / ColCelcoördinaten met basis 1
StyleIndexKlassieke XF-stijlindex
Kind (TXLSLoadedCellKind)xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormulaof xlckBlank
ValueEigen Variant-waarde vastgelegd voor de huidige cel
FormulaFormuletekst voor formulecellen, anders een lege tekenreeks

Tekenreeksen en Variants in TXLSLoadedCellSnapshot zijn waarden in eigendom en leggen geen interne celobjecten bloot

Voor formulecellen volgt Value de normale semantiek voor waardetoegang van de klassieke werkmap, inclusief berekening wanneer dat nodig is

Voor xlckBlankis Value is Unassigned, is Formula leeg en identificeert StyleIndex de opgeslagen cel-XF

Status en ongeldigverklaring

State (type TXLSLoadedCellCursorStateis xlccBeforeFirst tot de eerste geslaagde MoveNext, xlccActive zolang Current beschikbaar is, en xlccEof nadat de doorloop is voltooid

Het lezen van Current vóór de eerste cel of na EOF veroorzaakt EXLSLoadedCellCursorState

Het aanmaken of verwijderen van opgeslagen cellen, het toevoegen, verwijderen of verplaatsen van werkbladen, of het vervangen van het werkmapmodel maakt de cursor ongeldig

De daaropvolgende aanroep van MoveNext of Current veroorzaakt dan EXLSLoadedCellCursorInvalidated

Het wijzigen van de waarde, formule of opmaak van een bestaande cel maakt de cursor niet ongeldig, en een reeds vastgelegde momentopname blijft ongewijzigd

Voorbeeld

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;

Zie ook