CreateLoadedCellCursor metode
Oppretter en trekkmarkør over de lagrede cellene i en innlastet Classic XLS-arbeidsbok, med et valg for å ta med uavhengig stiledde tomceller
Syntaks
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Traverseringsrekkefølge og kostnad
Markøren går gjennom arkene i samlingsrekkefølge, deretter cellene etter stigende rad og kolonne
SheetIndex, Row og Col er offentlige koordinater som starter på én
Traverseringen følger tildelte Classic sparse-lagringsgrener direkte, slik at markørtilstanden forblir konstant og ikke tildeler tabeller dimensjonert etter arkenes rad- eller kolonnegrenser
Overbelastningen uten parametere hopper over tomceller og bevarer den eksisterende kontrakten for traversering av verdier og formler
Send True for å ta med lagrede tomceller hvis celle-XF avviker fra det arvede rad-, kolonne- eller arkformatet
Arvet formatering alene materialiserer eller avgir ingen tom koordinat
Felter i øyeblikksbildet
| Felt | Betydning |
|---|---|
SheetIndex / SheetName | Identiteten til arket som eier cellen, ved fangsttidspunktet |
Row / Col | Cellekoordinater som starter på én |
StyleIndex | Classic XF-stilindeks |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, or xlckBlank |
Value | Eid Variant-verdi fanget opp for gjeldende celle |
Formula | Formeltekst for formelceller, ellers en tom streng |
Strenger og Variants i TXLSLoadedCellSnapshot er eide verdier og eksponerer ikke interne cellobjekter
For formelceller følger Value den normale verditilgangsatferden i Classic-arbeidsboken, inkludert beregning når det er nødvendig
For xlckBlank er Value Unassigned, Formula er tom, og StyleIndex identifiserer den lagrede celle-XF-en
Tilstand og ugyldiggjøring
State (type TXLSLoadedCellCursorState) er xlccBeforeFirst frem til det første vellykkede MoveNext, xlccActive mens Current er tilgjengelig, og xlccEof etter at traverseringen er fullført
Å lese Current før den første cellen eller etter EOF utløser EXLSLoadedCellCursorState
Å opprette eller slette lagrede celler, legge til, slette eller flytte ark, eller erstatte arbeidsbokmodellen ugyldiggjør markøren
Det neste MoveNext- eller Current-kallet utløser da EXLSLoadedCellCursorInvalidated
Å endre verdien, formelen eller formatet i en eksisterende celle ugyldiggjør ikke markøren, og et allerede fanget øyeblikksbilde forblir uendret
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;