HotXLS-dokumentaatio

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 / SheetNameOmistavan laskentataulukon identiteetti tallennushetkellä
Row / ColYhdestä alkavat solukoordinaatit
StyleIndexKlassinen XF-tyyli-indeksi
Kind (TXLSLoadedCellKind)xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula tai xlckBlank
ValueNykyiselle solulle tallennettu omistettu Variant-arvo
FormulaKaavateksti 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;

Katso myös