Dokumentace HotXLS

Třída TXLSForwardReader

TXLSForwardReader představuje jediný projektovaný povrch řízený zpětnými voláními pro klasický XLS, moderní XLSX, CSV a TSV bez sestavování kompletního objektového modelu sešitu

Formát vstupu

TXLSForwardFormat vybírá automatickou detekci nebo vynucuje analýzu XLS, XLSX, CSV nebo TSV

ReadFile otevře pojmenovaný zdroj a ReadStream čte z aktuální pozice streamu volajícího a po návratu tuto pozici obnovuje

Projekce a meze řádků

IncludeColumn přidává sloupec číslovaný od 0 do sady projekce s konstantním časem, ClearColumnProjection obnoví výstup všech sloupců a HasColumnProjection hlásí, zda je posun aktivní

FirstRow a LastRow uplatňují meze řádků číslované od 1 před odesláním zpětných volání, což analyzátorům umožňuje zastavit po požadovaném intervalu

Zpětná volání a převod hodnot

OnSheetPřijímá název každého listu a může přeskočit list nebo přerušit celé čtení
OnCellPřijímá řádek, sloupec, index stylu, normalizovaný typ, surovou hodnotu a text vzorce pro každou projektovanou buňku
IncludeFormulaTextZachovává přítomnost vzorce a hodnoty z mezipaměti a volitelně potlačuje akumulaci textu vzorce
DetectDatesPoužívá číselné formáty sešitu k identifikaci hodnot data a času
DetectTextTypesPřevádí pole CSV a TSV na podporované skalární typy tam, kde je to jednoznačné
PreserveRichTextZachovává formátované běhy a fonetický obsah tam, kde je zdrojový formát podporuje
ValueSeparatorPřepíše oddělovač polí textu, když není vhodná detekce formátu

Stav dokončení

CellCount hlásí odeslané buňky a Aborted rozlišuje zrušení volajícím od normálního dokončení

Příklad

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

Volba streamovacího API

Použijte TXLSForwardReader, když jedna cesta aplikace musí přijmout několik formátů, TXLSDirectReader pro rozvržení specifické pro XLSX, formátovaný text a paralelní události listů, nebo TXLSRowCursor pro iteraci řádků XLSX řízenou tažením

Viz také