Metoden CreateLoadedCellCursor
Skapar en pull-markör över lagrade celler i en inläsad klassisk XLS-arbetsbok, med möjlighet att ta med självständigt formaterade tomceller
Syntax
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload; function CreateLoadedCellCursor( AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
Traverseringsordning och kostnad
Markören besöker kalkylbladen i samlingsordning och därefter cellerna efter stigande rad och kolumn
SheetIndex, Rowoch Col är ettbaserade publika koordinater
Traverseringen följer allokerade grenar i den klassiska glesa lagringen direkt, så markörstatusen förblir konstant och allokerar inga matriser dimensionerade efter kalkylbladets rad- eller kolumngränser
Överlagringen utan parametrar hoppar över tomceller och bevarar det befintliga kontraktet för traversering av värden och formler
Skicka True för att ta med lagrade tomceller vars cell-XF skiljer sig från det ärvda rad-, kolumn- eller kalkylbladsformatet
Ärvd formatering ensamt materialiserar eller emitterar ingen tom koordinat
Ögonblicksbildsfält
| Fält | Betydelse |
|---|---|
SheetIndex / SheetName | Det ägande kalkylbladets identitet vid fångstillfället |
Row / Col | Ettbaserade cellkoordinater |
StyleIndex | Klassiskt XF-formatindex |
Kind (TXLSLoadedCellKind) | xlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormulaeller xlckBlank |
Value | Eget Variant-värde fångat för den aktuella cellen |
Formula | Formeltext för formelceller, annars en tom sträng |
Strängar och Variants i TXLSLoadedCellSnapshot är egna värden och exponerar inte interna cellobjekt
För formelceller följer Value den klassiska arbetsbokens normala semantik för värdeåtkomst, inklusive beräkning när det krävs
För xlckBlankär Value is Unassigned, Formula är tom och StyleIndex identifierar det lagrade cell-XF:et
Status och ogiltigförklaring
State (type TXLSLoadedCellCursorStateär xlccBeforeFirst fram till det första lyckade MoveNext, xlccActive medan Current är tillgänglig och xlccEof efter att traverseringen har slutförts
Läsning av Current före den första cellen eller efter EOF utlöser EXLSLoadedCellCursorState
Att skapa eller ta bort lagrade celler, lägga till, ta bort eller flytta kalkylblad, eller att ersätta arbetsboksmodellen, ogiltigförklarar markören
Nästa MoveNext - eller Current -anrop utlöser därefter EXLSLoadedCellCursorInvalidated
Att ändra en befintlig cells värde, formel eller format ogiltigförklarar inte markören, och en redan fångad ögonblicksbild förblir oförändrad
Exempel
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;