Документация HotXLS

Потоковая обработка крупных электронных таблиц

Обзор

Загрузка очень крупных электронных таблиц (например, миллионов заполненных ячеек) в память может привести к ошибкам нехватки памяти в 32-разрядных процессах; HotXLS предоставляет потоковые средства чтения и записи с практически постоянным объёмом памяти, обходя генерацию DOM при разборе книг

API прямого чтения

Класс TXLSDirectReader последовательно разбирает потоки книги без создания моделей ячеек в памяти; он инициирует события по мере обнаружения ячеек

procedure Read(AStream: TStream; ACallback: TXLSDirectReadCallback);

Это позволяет последовательно сканировать строки листа и досрочно прерывать обработку, как только будут определены границы целевых данных

API прямой записи

Класс TXLSDirectWriter записывает строки непосредственно в ZIP-пакет файла, обеспечивая минимальные накладные расходы памяти при создании крупных экспортов данных