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
| OnSheet | Gauna kiekvieną darbalapio pavadinimą ir gali praleisti lapą ar nutraukti visą skaitymą |
| OnCell | Gauna eilutę, stulpelį, stiliaus indeksą, normalizuotą tipą, neapdorotą reikšmę ir formulės tekstą kiekvienam projektuotam langeliui |
| IncludeFormulaText | Išlaiko formulės buvimą ir talpykloje esančias reikšmes, o formulės teksto kaupimą gali slopinti |
| DetectDates | Naudoja darbo knygos skaičių formatus datos ir laiko reikšmėms nustatyti |
| DetectTextTypes | Konvertuoja CSV ir TSV laukus į palaikomus skaliarinius tipus ten, kur nėra dviprasmybės |
| PreserveRichText | Išlaiko suformatuotus fragmentus ir fonetinį turinį ten, kur šaltinio formatas juos palaiko |
| ValueSeparator | Pakeič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