Dokumentacija HotXLS

CreateLoadedCellCursor metoda

Stvara pokazivač za povlačenje podataka nad pohranjenim ćelijama u učitanoj radnoj knjizi klasičnog XLS-a, 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

Obilazak slijedi izravno alocirane grane klasičnog razrjeđenog spremišta, pa stanje pokazivača ostaje nepromjenjivo i ne alocira polja dimenzionirana prema ograničenjima redaka ili stupaca radnog lista

Preopterećenje bez parametara preskače prazne ćelije i zadržava postojeći ugovor obilaska vrijednosti i formula

Proslijedite True za uključivanje pohranjenih praznih ćelija čiji se ćelijski XF razlikuje od naslijeđenog formata retka, stupca ili radnog lista

Samo naslijeđeno oblikovanje ne materijalizira niti ispušta praznu koordinatu

Polja snimka

PoljeZnačenje
SheetIndex / SheetNameIdentitet radnog lista u vlasništvu u trenutku snimanja
Row / ColKoordinate ćelije koje broje od jedan
StyleIndexKlasični indeks stila XF
KindxlckText, xlckNumber, xlckDateTime, xlckBoolean, xlckFormula 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

Kod ćelija s formulom Value slijedi uobičajenu semantiku pristupa vrijednostima klasične radne knjige, uključujući izračun kada je to potrebno

Za xlckBlank vrijednost Value jest Unassigned, Formula je prazna, a StyleIndex identificira pohranjeni ćelijski XF

Stanje i poništavanje valjanosti

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, dodavanje, brisanje ili premještanje radnih listova te zamjena modela radne knjige 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

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