HotXLS-dokumentaatio

TXLSForwardReader-luokka

TXLSForwardReader tarjoaa yhden projisoidun, takaisinkutsuohjatun rajapinnan klassiselle XLS-, nykyaikaiselle XLSX-, ODS-, CSV- ja TSV-syötteelle rakentamatta täydellistä työkirjan objektimallia; se mukauttaa samoja rivikursoribackendeja, joita TXLSRowCursor käyttää, joten push- ja pull-luvut jakavat muoto-, projektio- ja kaavasemantiikan

Syötemuoto

TXLSForwardFormat valitsee automaattisen tunnistuksen tai pakottaa XLS-, XLSX-, CSV- tai TSV-jäsentämisen

ReadFile avaa nimetyn lähteen ja ReadStream lukee soittajan nykyisestä virran sijainnista palauttaen sijainnin paluun yhteydessä

Projektio ja rivirajat

IncludeColumn lisää nollaperusteisen sarakkeen vakioaikaiseen projektiojoukkoon, ClearColumnProjection palauttaa kaikkien sarakkeiden tulosteen ja HasColumnProjection kertoo, onko työntö käytössä

FirstRow ja LastRow soveltavat ykkösperusteiset rivirajat ennen takaisinkutsujen välitystä, jolloin jäsentimet voivat pysähtyä pyydetyn välin jälkeen

Takaisinkutsut ja arvojen muunnos

OnSheetVastaanottaa jokaisen laskentataulukon nimen ja voi ohittaa laskentataulukon tai keskeyttää koko lukemisen
OnCellVastaanottaa rivin, sarakkeen, tyyli-indeksin, normalisoidun tyypin, raaka-arvon ja kaavatekstin jokaiselle projisoidulle solulle
IncludeFormulaTextKäyttää työkirjan numeromuotoja päivämäärä- ja aika-arvojen tunnistamiseen
DetectDatesMuuntaa CSV- ja TSV-kentät tuetuiksi skalaarityypeiksi silloin, kun tulkinta on yksiselitteinen
DetectTextTypesSäilyttää muotoillut osiot ja foneettisen sisällön silloin, kun lähdemuoto tukee niitä
PreserveRichTextSäilyttää kaavan läsnäolon ja välimuistissa olevat arvot ja valinnaisesti hiljentää kaavatekstin kertymisen
ValueSeparatorKorvaa tekstikenttien erottimen, kun muodon tunnistus ei sovellu

HasFormula on epätosi tavallisille arvoille, kun taas FormulaTextAvailable on tosi vain, kun Formula sisältää luotettavaa tekstiä; klassinen XLS raportoi välimuistissa olevat kaavatulokset ilman saatavilla olevaa kaavatekstiä, koska forward-polku ei pura BIFF-tokeneita

Valmistumistila

CellCount raportoi välitetyt solut ja Aborted erottaa soittajan peruutuksen normaalista valmistumisesta

ClassicBytesRead raportoi klassisen XLS:n (BIFF) jäsentimen yhteensä kuluttamat tavut ja ClassicPeakBufferedBytes suurimman kerralla pidetyn puskuroitujen tavujen määrän; molemmat ovat vain luku -diagnostiikkaa klassiselle XLS-polulle

PeakRowBufferedBytes raportoi suurimman arvioidun loogisen rivin työjoukon, jonka jaettu backend säilyttää, ja SheetPassesStarted laskee aktiivisiksi tulleet laskentataulukkokierrokset; OnSheet in hylkäämä taulukko ei avaa laskentataulukko-osaa eikä kasvata laskuria

Sheet indexes delivered through OnSheet in ja OnCell in kautta toimitetut taulukkoindeksit ovat yhdenmukaisesti 1-pohjaisia kaikille tuetuille muodoille

Esimerkki

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;

Streamaus-API:n valitseminen

Käytä TXLSForwardReader -luokkaa, kun yhden sovelluspolun on hyväksyttävä useita muotoja, TXLSDirectReader -luokkaa XLSX-kohtaiseen asetteluun, rikkaaseen tekstiin ja rinnakkaisiin laskentataulukkotapahtumiin tai TXLSRowCursor -luokkaa veto-ohjattuun XLSX-rivien iterointiin

Katso myös