Dokumentacija HotXLS

CreateLoadedCellCursor metoda

Stvara pokazivač za povlačenje podataka nad pohranjenim ćelijama u učitanoj XLSX radnoj knjizi, uz opciju uključivanja samostalno stiliziranih praznih ćelija

Sintaksa

function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(
  AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;

Redoslijed i trošak obilaska

Pokazivač obilazi radne listove u redoslijedu zbirke, a zatim ćelije prema rastućem retku i stupcu

SheetIndex, Row i Col javne su koordinate koje broje od jedan

Materijalizirani radni listovi čitaju se izravno iz njihovih alociranih razrjeđenih blokova od 256 redaka bez izgradnje sortiranog popisa ćelija

Pakirani radni listovi čitaju se izravno kroz iterator pakiranog spremišta i nakon obilaska ostaju pakirani

Stanje pokazivača konstantno je u odnosu na veličinu radne knjige i ne alocira polja dimenzionirana prema ograničenjima redaka ili stupaca XLSX-a

Preopterećenje bez parametara preskače prazne ćelije samo sa stilom, pohranjene rezervirane vrijednosti Empty i pohranjene rezervirane vrijednosti Null

Proslijedite True za uključivanje samostalno stiliziranih praznih koordinata iz materijaliziranog ili pakiranog spremišta bez materijalizacije pakiranih ćelija

Nestilizirane rezervirane vrijednosti Empty i Null ostaju isključene u oba načina rada

Polja snimka

PoljeZnačenje
SheetIndex / SheetNameIdentitet radnog lista u vlasništvu u trenutku snimanja
Row / ColKoordinate ćelije koje broje od jedan
StyleIndexXLSX indeks formata ćelije snimljen iz materijaliziranog ili pakiranog spremišta
KindxlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula, xlckError ili xlckBlank
ValueVrijednost Variant u vlasništvu snimljena za trenutačnu ćeliju
FormulaTekst formule za ćelije s formulom, inače prazan niz znakova

Znakovni nizovi i Variant vrijednosti u TXLSLoadedCellSnapshot vrijednosti su u vlasništvu i ne izlažu unutarnje objekte ćelija ni pokazivače na pakirano spremište

Kod XLSX ćelija s formulom Value jest trenutačno pohranjena predmemorirana vrijednost, a obilazak ne izračunava formulu ponovno

Za xlckBlank vrijednost Value jest Unassigned, Formula je prazna, a StyleIndex identificira pohranjeni format ćelije

Stanje, poništavanje valjanosti i životni vijek

State jest xlccBeforeFirst do prvog uspješnog MoveNext, xlccActive dok je Current dostupan, i xlccEof nakon završetka obilaska

Čitanje Current prije prve ćelije ili nakon EOF-a podiže EXLSLoadedCellCursorState

Stvaranje ili brisanje pohranjenih ćelija, materijalizacija pakiranog spremišta, izričita ponovna izgradnja indeksa te dodavanje, brisanje, premještanje ili pražnjenje radnih listova poništavaju valjanost pokazivača

Sljedeći poziv MoveNext ili Current tada podiže EXLSLoadedCellCursorInvalidated

Promjena vrijednosti, formule ili formata postojeće ćelije ne poništava valjanost pokazivača, a već snimljeni snimak ostaje nepromijenjen

Otpuštanje radne knjige prije pokazivača također podiže EXLSLoadedCellCursorInvalidated umjesto da ostavi pokazivač s visećim pokazivačem na radnu knjigu

Provjera generacija otkrivanje je s trenutačnim prekidom i ne čini istodobnu mutaciju i obilazak sigurnima za niti

Primjer

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;

Vidi također