Dokumentácia HotXLS

Trieda TXLSForwardReader

TXLSForwardReader predstavuje jednu projektovanú, spätným volaním riadenú plochu pre klasický XLS, moderný XLSX, CSV a TSV vstup bez vytvárania kompletného objektového modelu zošita

Formát vstupu

TXLSForwardFormat vyberá automatickú detekciu alebo vynucuje parsovanie XLS, XLSX, CSV alebo TSV

ReadFile otvára pomenovaný zdroj a ReadStream číta z aktuálnej pozície toku volajúceho a po návrate túto pozíciu obnovuje

Projekcia a ohraničenia riadkov

IncludeColumn pridáva stĺpec od nuly do projektovanej množiny s konštantným časom, ClearColumnProjection obnovuje výstup všetkých stĺpcov a HasColumnProjection hlási, či je pushdown aktívny

FirstRow a LastRow aplikujú ohraničenia riadkov od jednotky pred odoslaním spätného volania, čo umožňuje parserom zastaviť po požadovanom intervale

Spätné volania a konverzia hodnôt

OnSheetPrijíma názov každého hárka a môže preskočiť hárok alebo prerušiť celé čítanie
OnCellPrijíma riadok, stĺpec, index štýlu, normalizovaný typ, surovú hodnotu a text vzorca pre každú projektovanú bunku
DetectDatesPoužíva číselné formáty zošita na identifikáciu hodnôt dátumu a času
DetectTextTypesKonvertuje polia CSV a TSV na podporované skalárne typy tam, kde je to jednoznačné
PreserveRichTextZachováva formátované behy a fonetické dáta tam, kde ich zdrojový formát podporuje
ValueSeparatorPrepíše oddeľovač textových polí, keď detekcia formátu nie je vhodná

Stav dokončenia

CellCount hlási odoslané bunky a Aborted rozlišuje zrušenie volajúcim od normálneho dokončenia

Príklad

Reader := TXLSForwardReader.Create;
try
  Reader.FirstRow := 2;
  Reader.IncludeColumn(0);
  Reader.IncludeColumn(4);
  Reader.OnSheet := ReadSheet;
  Reader.OnCell := ReadCell;
  Reader.ReadFile('large-input.xlsx', xffAuto);
finally
  Reader.Free;
end;

Výber streamovacieho API

Použite TXLSForwardReader, keď jedna cesta aplikácie musí prijať viacero formátov, TXLSDirectReader pre XLSX špecifické rozloženie, bohatý text a paralelné udalosti hárkov, alebo TXLSRowCursor pre pull riadenú iteráciu riadkov XLSX

Pozri tiež