Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 20 апр 2024, 05:11

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Чтение XLSX
СообщениеДобавлено: 15 мар 2021, 15:32 
Не в сети

Зарегистрирован: 15 янв 2012, 17:08
Сообщений: 2
Добрый день. Попробовал читать XLSX и сразу неудача. Программа висла. Оказалось проблема возникает на больших файлах. Трассировка показала что проблема в XlsReaderSheetEh.Destroy. Если закомментировал разрушение FSheetData - то все работает, правда с утечкой памяти. Файл большой - при чтении используется больше гига памяти. Внутри 29 листов. TXlsReader - не предназначен для чтения любых xls файлов ?

Код:
destructor TXlsReaderSheetEh.Destroy;
begin
  FreeAndNil(FAutoFilter);
  // Проблемная строка
  FreeAndNil(FSheetData);
  FreeAndNil(FMergeCells);
  FreeAndNil(FPageMargins);
  FreeAndNil(FPageSetup);
  inherited Destroy;
end;


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Чтение XLSX
СообщениеДобавлено: 16 мар 2021, 03:36 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

---
К сожалению, простым исправлением данную проблему не решить.
Тормозят методы класса Xml.XMLDoc.TXMLDocument.
Возможно надо будет искать альтернативу или писать аналог самим.

---
По поводу TXlsReader.
В текущей реализации TXlsReader поддерживает только Xlsx файлы.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Чтение XLSX
СообщениеДобавлено: 16 мар 2021, 08:36 
Не в сети

Зарегистрирован: 14 окт 2014, 11:19
Сообщений: 62
Если файл большой, то стоит вытаскивать отдельные XML из этого Excel и через SAX парсер их грузить, а не через DOM.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB