HotXLS-dokumentasjon

TXLSForwardReader-klassen

TXLSForwardReader presenterer ett projisert, Callback-drevet grensesnitt for klassisk XLS, moderne XLSX, ODS, CSV og TSV-inndata, uten å bygge en komplett arbeidsbokobjektmodell; den tilpasser de samme radcursor-backendene som TXLSRowCursor bruker, slik at push- og pull-lesing deler format-, projeksjons- og formelsemantikk

Inndataformat

TXLSForwardFormat velger automatisk gjenkjenning eller tvinger XLS-, XLSX-, CSV- eller TSV-tolking

ReadFile åpner en navngitt kilde, og ReadStream leser fra den kallendes gjeldende strømposisjon samtidig som posisjonen gjenopprettes ved retur

Projeksjon og radgrenser

IncludeColumn legger en nullbasert kolonne til projeksjonssettet med konstant tid, ClearColumnProjection gjenoppretter utdata for alle kolonner, og HasColumnProjection rapporterer om nedskyving er aktiv

FirstRow og LastRow bruker én-baserte radgrenser før tilbakemeldingsutsending, slik at tolkere kan stoppe etter det forespurte intervallet

Tilbakemeldinger og verdikonvertering

OnSheetMottar hvert regnearknavn og kan hoppe over et ark eller avbryte hele lesingen
OnCellMottar rad, kolonne, stilindeks, normalisert type, råverdi og formeltekst for hver projisert celle
IncludeFormulaTextBeholder formeltilstedeværelse og bufrede verdier, med valgfri undertrykking av akkumulering av formeltekst
DetectDatesBruker arbeidsbokens tallformater til å identifisere dato- og tidsverdier
DetectTextTypesKonverterer CSV- og TSV-felt til støttede skalar-typer der det er utvetydig
PreserveRichTextBeholder formaterte kjøringer og fonetiske data der kildeformatet støtter dem
ValueSeparatorOverstyrer skilletegnet for tekstfelt når formatdeteksjonen ikke er egnet

HasFormula er usann for vanlige verdier, mens FormulaTextAvailable bare er sann når Formula inneholder pålitelig tekst; klassisk XLS rapporterer bufrede formelresultater med utilgjengelig formeltekst, fordi den fremoverrettede veien ikke dekompilerer BIFF-token

Fullføringstilstand

CellCount rapporterer utsendte celler, og Aborted skiller avbryting fra den som kaller, fra normal fullføring

ClassicBytesRead rapporterer totalt antall bytes som den klassiske XLS-parseren (BIFF) har konsumert, og ClassicPeakBufferedBytes de maksimale bufrede bytene den holdt samtidig; begge er skrivebeskyttet diagnostikk for den klassiske XLS-veien

PeakRowBufferedBytes rapporterer det største estimerte logiske rad-arbeidssettet som den delte backenden beholder, og SheetPassesStarted teller regnearkgjennomløp som ble aktive; et ark som OnSheet avviser, åpner verken sin regnearkdel eller øker telleren

Arkindekser levert gjennom OnSheet og OnCell er konsistent 1-baserte for alle støttede formater

Eksempel

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;

Velge et strømme-API

Bruk TXLSForwardReader når én applikasjonsbane må godta flere formater, TXLSDirectReader for XLSX-spesifikt oppsett, rik tekst og parallelle regnearkhendelser, eller TXLSRowCursor for trekkdrevet XLSX-raditerasjon

Se også