CreateLoadedCellCursor metode
Oppretter en trekkmarkør over de lagrede cellene i en innlastet XLSX-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
Materialiserte ark leses direkte fra sine tildelte 256-raders sparse-blokker, uten å bygge en sortert celleliste
Pakkede ark leses direkte gjennom iteratoren for pakket lagring, og forblir pakkede etter traverseringen
Markørtilstanden er konstant i forhold til arbeidsbokstørrelsen og tildeler ikke tabeller dimensjonert etter XLSX-rad- eller kolonnegrensene
Overbelastningen uten parametere hopper over bare-styled tomceller, lagrede Empty-plassholdere og lagrede Null-plassholdere
Send True for å ta med uavhengig stiledde tomme koordinater fra materialisert eller pakket lagring, uten å materialisere pakkede celler
Ustyled Empty- og Null-plassholdere forblir utelatt i begge moduser
Felter i øyeblikksbildet
| Felt | Betydning |
|---|---|
SheetIndex / SheetName | Identiteten til arket som eier cellen, ved fangsttidspunktet |
Row / Col | Cellekoordinater som starter på én |
StyleIndex | XLSX-celleformatindeks fanget opp fra materialisert eller pakket lagring |
Kind | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, xlckError eller 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 celle- eller pakkelagringspekere
For XLSX-formelceller er Value den for øyeblikket lagrede bufrede verdien, og traverseringen beregner ikke formelen på nytt
For xlckBlank er Value Unassigned, Formula er tom, og StyleIndex identifiserer det lagrede celleformatet
Tilstand, ugyldiggjøring og levetid
State 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, materialisering av pakket lagring, eksplisitte gjenoppbygginger av indekser, eller å legge til, slette, flytte eller tømme ark 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
Å frigi arbeidsboken før markøren utløser også EXLSLoadedCellCursorInvalidated, i stedet for å etterlate markøren med en hengende arbeidsbokpeker
Genereringsvalidering er fail-fast-deteksjon og gjør ikke samtidig mutasjon og traversering trådsikkert
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;