CreateLoadedCellCursor metode
Opretter en pull-cursor over gemte celler i en indlæst klassisk XLS-projektmappe med mulighed for at inkludere selvstændigt formaterede tomme celler
Syntaks
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Gennemløbsrækkefølge og omkostninger
Cursor'en besøger regnearkene i samlingsrækkefølge og derefter cellerne efter stigende række og kolonne
SheetIndex, Row og Col er offentlige koordinater, der er 1-baserede
Gennemløbet følger direkte de allokerede grene i klassisk sparsom lagring, så cursortilstanden forbliver konstant og ikke allokerer arrays i størrelse svarende til regnearkets række- eller kolonnegrænser
Overloadet uden parametre springer tomme celler over og bevarer den eksisterende kontrakt for værdi- og formelgennemløb
Send True for at inkludere gemte tomme celler, hvis celle-XF adskiller sig fra den nedarvede formatering af række, kolonne eller regneark
Nedarvet formatering alene materialiserer eller udsender ikke en tom koordinate
Snapshot-felter
| Felt | Betydning |
|---|---|
SheetIndex / SheetName | Ejerregnearkets identitet på fangsttidspunktet |
Row / Col | Cellekoordinater, der er 1-baserede |
StyleIndex | Klassisk XF-stilindeks |
Kind | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula eller xlckBlank |
Value | Ejet Variant-værdi fanget til den aktuelle celle |
Formula | Formeltekst for formelceller, ellers en tom streng |
Strenge og Variants i TXLSLoadedCellSnapshot er ejede værdier og eksponerer ikke interne cellobjekter
For formelceller følger Value den klassiske projektmapps normale værdiadgangssemantik, herunder beregning, når det kræves
For xlckBlank er Value Unassigned, Formula er tom, og StyleIndex identificerer den gemte celle-XF
Tilstand og ugyldiggørelse
State er xlccBeforeFirst indtil det første vellykkede MoveNext, xlccActive, mens Current er tilgængelig, og xlccEof efter gennemløbets afslutning
Læsning af Current før den første celle eller efter EOF rejser EXLSLoadedCellCursorState
Oprettelse eller sletning af gemte celler, tilføjelse, sletning eller flytning af regneark eller udskiftning af projektmappens model ugyldiggør cursor'en
Det næste MoveNext- eller Current-kald rejser derefter EXLSLoadedCellCursorInvalidated
Ændring af en eksisterende celles værdi, formel eller format ugyldiggør ikke cursor'en, og et allerede fanget snapshot forbliver uændret
Eksempel
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;