Клас TXLSForwardReader
TXLSForwardReader представя една проектирана, базирана на обратни извиквания повърхност за класически XLS, модерен XLSX, CSV и TSV вход, без да изгражда пълен обектен модел на работната книга
Входен формат
TXLSForwardFormat избира автоматично разпознаване или налага синтактичен анализ на XLS, XLSX, CSV или TSV
ReadFile отваря именуван източник, а ReadStream чете от текущата позиция на потока на извикващия код, като възстановява тази позиция при връщане
Проекция и граници на редовете
IncludeColumn добавя колона, базирана на нула, към набора от проекции с постоянно време, ClearColumnProjection възстановява изхода за всички колони, а HasColumnProjection отчита дали отлагането е активно
FirstRow и LastRow прилагат граници на редовете, базирани на единица, преди диспечирането на обратните извиквания, което позволява на анализаторите да спрат след искания интервал
Обратни извиквания и преобразуване на стойности
| OnSheet | Получава името на всеки работен лист и може да пропусне лист или да прекъсне цялото четене |
| OnCell | Получава реда, колоната, индекса на стила, нормализирания тип, суровата стойност и текста на формулата за всяка проектирана клетка |
| DetectDates | Използва числовите формати на работната книга за разпознаване на дати и часове |
| DetectTextTypes | Преобразува CSV и TSV полета в поддържани скаларни типове, когато няма двусмислие |
| PreserveRichText | Запазва форматираните сегменти и фонетичния полезен товар, където изходният формат ги поддържа |
| ValueSeparator | Заменя разделителя на текстовите полета, когато разпознаването на формата не е подходящо |
Състояние на завършване
CellCount отчита диспечираните клетки, а Aborted разграничава отмяна от извикващия код от нормално завършване
Пример
Reader := TXLSForwardReader.Create;
try
Reader.FirstRow := 2;
Reader.IncludeColumn(0);
Reader.IncludeColumn(4);
Reader.OnSheet := ReadSheet;
Reader.OnCell := ReadCell;
Reader.ReadFile('large-input.xlsx', xffAuto);
finally
Reader.Free;
end;
Избор на стрийминг API
Използвайте TXLSForwardReader, когато един път на приложението трябва да приема няколко формата, TXLSDirectReader за специфично за XLSX оформление, богат текст и паралелни събития на работни листове, или TXLSRowCursor за итерация на XLSX редове, управлявана от изтегляне