CreateLoadedCellCursor metodi
Luo pull-kursorin ladatun Classic XLS -työkirjan tallennettujen solujen yli, ja sen valinnaisella parametrilla voidaan ottaa mukaan itsenäisesti tyylitetyt tyhjät solut
Syntaksi
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Läpikäynnin järjestys ja kustannus
Kursori käy laskentataulukot läpi kokoelman järjestyksessä ja sen jälkeen solut nousevan rivin ja sarakkeen mukaan
SheetIndex, Row ja Col ovat yhdestä alkavia julkisia koordinaatteja
Läpikäynti seuraa suoraan varattujen klassisen harvan tallennuksen haaroja, joten kursorin tila pysyy muuttumattomana eikä se varaa taulukoita laskentataulukon rivi- tai sarakerajojen kokoisina
Parametriton ylikuormitus ohittaa tyhjät solut ja säilyttää olemassa olevan arvojen ja kaavojen läpikäyntisopimuksen
Anna True, jotta mukaan otetaan tallennetut tyhjät solut, joiden solun XF poikkeaa peritystä rivin, sarakkeen tai laskentataulukon muodosta
Pelkkä peritty muotoilu ei luo tai tulosta tyhjää koordinaattia
Tilannekuvan kentät
| Kenttä | Merkitys |
|---|---|
SheetIndex / SheetName | Omistavan laskentataulukon identiteetti tallennushetkellä |
Row / Col | Yhdestä alkavat solukoordinaatit |
StyleIndex | Klassinen XF-tyyli-indeksi |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula tai xlckBlank |
Value | Nykyiselle solulle tallennettu omistettu Variant-arvo |
Formula | Kaavateksti kaavasoluille, muuten tyhjä merkkijono |
TXLSLoadedCellSnapshot -rakenteen merkkijonot ja Variant-arvot ovat omistettuja arvoja, eivätkä ne paljasta sisäisiä soluolioita
Kaavasoluille Value noudattaa klassisen työkirjan tavallisia arvojen käsittelysääntöjä, mukaan lukien laskenta tarvittaessa
Kun xlckBlank, Value on Unassigned, Formula on tyhjä ja StyleIndex yksilöi tallennetun solun XF:n
Tila ja mitätöinti
State (tyyppi TXLSLoadedCellCursorState) on xlccBeforeFirst, kunnes ensimmäinen onnistunut MoveNext on tehty, xlccActive niin kauan kuin Current on käytettävissä ja xlccEof läpikäynnin valmistuttua
Current -arvon lukeminen ennen ensimmäistä solua tai EOF:n jälkeen nostaa EXLSLoadedCellCursorState -poikkeuksen
Tallennettujen solujen luominen tai poistaminen, laskentataulukoiden lisääminen, poistaminen tai siirtäminen tai työkirjamallin korvaaminen mitätöi kursorin
Seuraava MoveNext - tai Current -kutsu nostaa sen jälkeen EXLSLoadedCellCursorInvalidated -poikkeuksen
Olemassa olevan solun arvon, kaavan tai muodon muuttaminen ei mitätöi kursoria, eikä jo tallennettu tilannekuva muutu
Esimerkki
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;