Dokumentacija HotXLS

Klasa TXLSForwardReader

TXLSForwardReader nudi jednu projiciranu površinu vođenu pozivnim funkcijama za klasični XLS, moderni XLSX, CSV i TSV ulaz bez izgradnje cjelovitog objektnog modela radne knjige

Format ulaza

TXLSForwardFormat bira automatsko prepoznavanje ili prisiljava raščlanjivanje XLS, XLSX, CSV ili TSV formata

ReadFile otvara imenovani izvor, a ReadStream čita s trenutne pozicije toka pozivatelja i pri povratku vraća tu poziciju

Projekcija i granice redaka

IncludeColumn dodaje stupac koji počinje od nule u skup projekcija s konstantnim vremenom, ClearColumnProjection vraća izlaz svih stupaca, a HasColumnProjection izvještava je li projiciranje aktivno

FirstRow i LastRow primjenjuju granice redaka koje počinju od jedan prije slanja pozivnih funkcija, omogućujući raščlanjivačima da se zaustave nakon traženog intervala

Pozivne funkcije i pretvorba vrijednosti

OnSheetPrima naziv svakog radnog lista te može preskočiti list ili prekinuti cijelo čitanje
OnCellPrima redak, stupac, indeks stila, normalizirani tip, neobrađenu vrijednost i tekst formule za svaku projiciranu ćeliju
DetectDatesKoristi brojčane formate radne knjige za prepoznavanje vrijednosti datuma i vremena
DetectTextTypesPretvara CSV i TSV polja u podržane skalarne tipove tamo gdje je to nedvojbeno
PreserveRichTextZadržava oblikovane segmente i fonetski sadržaj tamo gdje ih izvorni format podržava
ValueSeparatorNadjačava razdjelnik tekstualnih polja kada prepoznavanje formata nije prikladno
ValueSeparatorNadjačava razdjelnik tekstnih polja kada detekcija formata nije prikladna

HasFormula je false za obične vrijednosti, dok je FormulaTextAvailable true samo kada Formula sadrži pouzdani tekst; klasični XLS izvještava predmemorirane rezultate formula s nedostupnim tekstom formule jer forward put ne dekompilira BIFF tokene

Stanje završetka

CellCount izvještava otpremljene ćelije, a Aborted razlikuje otkazivanje pozivatelja od normalnog završetka

ClassicBytesRead izvještava ukupan broj bajtova koje je potrošio parser klasičnog XLS-a (BIFF), a ClassicPeakBufferedBytes vršni broj bajtova u predmemoriji koji je istodobno držao; oboje su dijagnostike samo za čitanje na putu klasičnog XLS-a

PeakRowBufferedBytes izvještava najveći procijenjeni radni skup logičkog retka koji je zadržao zajednički backend, a SheetPassesStarted broji prolaze radnih listova koji su postali aktivni; list odbijen u OnSheet ne otvara svoj dio radnog lista niti povećava brojač

CellCount izvještava o proslijeđenim ćelijama, a Aborted razlikuje otkazivanje od strane pozivatelja od normalnog završetka

Primjer

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;

Odabir API-ja za strujanje

Koristite TXLSForwardReader kada jedan put aplikacije mora prihvatiti više formata, TXLSDirectReader za XLSX specifičan izgled, obogaćeni tekst i paralelne događaje radnih listova, ili TXLSRowCursor za iteraciju XLSX redaka vođenu povlačenjem

Vidi također