HotXLS dokumentacija

TXLSForwardReader klasė

TXLSForwardReader pateikia vieną projektuotą, įvykiais valdomą paviršių klasikinio XLS, šiuolaikinio XLSX, CSV ir TSV įvesčiai nesukurdamas viso darbo knygos objektų modelio

Įvesties formatas

TXLSForwardFormat parenka automatinį aptikimą arba priverstinai nustato XLS, XLSX, CSV ar TSV analizę

ReadFile atidaro pavadintą šaltinį, o ReadStream skaito iš skambintojo dabartinės srauto pozicijos, grįždamas atkurdamas tą poziciją

Projekcija ir eilučių ribos

IncludeColumn prideda nuo nulio prasidedantį stulpelį prie pastovaus laiko projekcijos rinkinio, ClearColumnProjection atkuria visų stulpelių išvestį, o HasColumnProjection praneša, ar nustūmimas aktyvus

FirstRow ir LastRow taiko nuo vieneto prasidedančias eilučių ribas prieš įvykių iškvietimą, leisdamos analizatoriams sustoti po prašyto intervalo

Įvykiai ir reikšmių konversija

OnSheetGauna kiekvieną darbalapio pavadinimą ir gali praleisti lapą ar nutraukti visą skaitymą
OnCellGauna eilutę, stulpelį, stiliaus indeksą, normalizuotą tipą, neapdorotą reikšmę ir formulės tekstą kiekvienam projektuotam langeliui
IncludeFormulaTextIšlaiko formulės buvimą ir talpykloje esančias reikšmes, o formulės teksto kaupimą gali slopinti
DetectDatesNaudoja darbo knygos skaičių formatus datos ir laiko reikšmėms nustatyti
DetectTextTypesKonvertuoja CSV ir TSV laukus į palaikomus skaliarinius tipus ten, kur nėra dviprasmybės
PreserveRichTextIšlaiko suformatuotus fragmentus ir fonetinį turinį ten, kur šaltinio formatas juos palaiko
ValueSeparatorPakeičia teksto laukų skyriklį, kai formato aptikimas netinka

HasFormula paprastoms reikšmėms false, o FormulaTextAvailable true tik tada, kai Formula turi patikimą tekstą; classic XLS pateikia talpyklinius formulių rezultatus su neprieinamu formulės tekstu, nes pirmyn krypties kelias BIFF žetonų nedekompiliuoja

Užbaigimo būsena

CellCount praneša išsiųstus langelius, o Aborted atskiria skambintojo atšaukimą nuo normalaus užbaigimo

ClassicBytesRead praneša visus classic XLS (BIFF) analizatoriaus suvartotus baitus, o ClassicPeakBufferedBytes — didžiausiąją vienu metu buferizuotą apimtį; abu — tik skaitomi classic XLS kelio diagnostikos rodikliai

PeakRowBufferedBytes praneša didžiausiąją bendrosios posistemės retinetą logines eilutės darbo aibę, o SheetPassesStarted skaičiuoja aktyviais tapusius darbalapio praėjimus; OnSheet atmestas darbalapis savo dalies neatsako ir skaičiaus nedidina

Darbalapių indeksai, tiekiami per OnSheet ir OnCell, visiems palaikomiems formatams nuosekliai numeruojami nuo vieneto

Pavyzdys

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;

Srautinio perdavimo API pasirinkimas

Naudokite TXLSForwardReader, kai vienas programos kelias turi priimti kelis formatus, TXLSDirectReader XLSX būdingam išdėstymui, turtingam tekstui ir lygiagrečiams darbalapio įvykiams, ar TXLSRowCursor tempimo būdu vykdomai XLSX eilučių iteracijai

Taip pat žiūrėkite