HotXLS-dokumentation

Klassen TXLSForwardReader

TXLSForwardReader presenterar en enda projicerad, callback-driven yta för indata från klassisk XLS, modern XLSX, ODS, CSV och TSV utan att bygga en komplett arbetsboksobjektmodell; den anpassar samma radcursor-backender som används av TXLSRowCursor presenterar en projicerad, återanropsdriven yta för klassisk XLS, modern XLSX, CSV och TSV-indata utan att konstruera en komplett arbetsboksobjektsmodell

Indataformat

TXLSForwardFormat väljer automatisk detektering eller tvingar XLS-, XLSX-, CSV- eller TSV-tolkning

ReadFile öppnar en namngiven källa och ReadStream läser från anroparens aktuella strömposition samtidigt som positionen återställs vid retur

Projicering och radgränser

IncludeColumn lägger till en nollbaserad kolumn i projiceringsuppsättningen med konstant tid, ClearColumnProjection återställer utdata för alla kolumner och HasColumnProjection rapporterar om pushdown är aktiv

FirstRow och LastRow tillämpar enbaserade radgränser före återanropsutsändning, vilket gör att tolkningsprogram kan stanna efter det begärda intervallet

Återanrop och värdekonvertering

OnSheetTar emot varje arbetsbladsnamn och kan hoppa över ett blad eller avbryta hela läsningen
OnCellTar emot rad, kolumn, stilindex, normaliserad typ, råvärde och formeltext för varje projicerad cell
IncludeFormulaTextBehåller formelnärvaro och cachade värden medan ansamling av formeltext valfritt kan stängas av
DetectDatesAnvänder arbetsbokens talformat för att identifiera datum- och tidsvärden
DetectTextTypesKonverterar CSV- och TSV-fält till stödda skalära typer där det är entydigt
PreserveRichTextBehåller formaterade körningar och fonetisk nyttolast där källformatet stöder dem
ValueSeparatorÅsidosätter textfältavgränsaren när formatdetektering inte är lämplig

HasFormula is false for ordinary values, while FormulaTextAvailable is true only when Formula innehåller tillförlitlig text; klassisk XLS rapporterar cachade formelresultat utan tillgänglig formulertext eftersom den forwarda vägen inte dekompilerar BIFF-token

Slutförandestatus

CellCount reports dispatched cells and Aborted skiljer annullering från anroparen från normalt slutförande

ClassicBytesRead rapporterar det totala antalet byte som den klassiska XLS-parsern (BIFF) konsumerat och ClassicPeakBufferedBytes den högsta mängden buffrade byte den höll på en gång; båda är skrivskyddade diagnostiker för den klassiska XLS-vägen

PeakRowBufferedBytes rapporterar den största uppskattade logiska radarbetsmängden som den delade backenden behåller, och SheetPassesStarted räknar de kalkylbladspass som blivit aktiva; ett blad som avvisas av OnSheet öppnar inte sin kalkylbladsdel och räknaren ökas inte

Sheet indexes delivered through OnSheet rapporterar utsända celler och OnCell skiljer anroparens avbrytande från normal slutföring

Exempel

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;

Välja ett strömnings-API

Använd TXLSForwardReader när en applikationssökväg måste acceptera flera format, TXLSDirectReader för XLSX-specifik layout, rik text och parallella arbetsbladshändelser, eller TXLSRowCursor för dra-driven XLSX-raditeration

Se även