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
| OnSheet | Vastaanottaa jokaisen laskentataulukon nimen ja voi ohittaa laskentataulukon tai keskeyttää koko lukemisen |
| OnCell | Vastaanottaa rivin, sarakkeen, tyyli-indeksin, normalisoidun tyypin, raaka-arvon ja kaavatekstin jokaiselle projisoidulle solulle |
| IncludeFormulaText | Käyttää työkirjan numeromuotoja päivämäärä- ja aika-arvojen tunnistamiseen |
| DetectDates | Muuntaa CSV- ja TSV-kentät tuetuiksi skalaarityypeiksi silloin, kun tulkinta on yksiselitteinen |
| DetectTextTypes | Säilyttää muotoillut osiot ja foneettisen sisällön silloin, kun lähdemuoto tukee niitä |
| PreserveRichText | Säilyttää kaavan läsnäolon ja välimuistissa olevat arvot ja valinnaisesti hiljentää kaavatekstin kertymisen |
| ValueSeparator | Korvaa 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