2016-10-14 3 views
1

Я пытаюсь экспортировать очень большой объем данных (300 000 строк * 100 столбцов) в Excel (из приложения Delphi) и OLE-подход (комбинированное решение от DevExpress DX, CX-пакетов и собственный код) дает сообщения об ошибках Недостаточно памяти доступна для завершения этой операции, Ошибка при создании варианта массива. Нет никаких хороших и готовых сторонних компонентов для собственного экспорта, и там, у меня есть идея использовать промежуточный файл: Я могу экспортировать данные в некоторый промежуточный файл, а затем открыть этот файл в Excelt. Но какой формат наиболее подходит для таких действий?: DDDЭкспорт в Excel - промежуточные форматы файлов?

  • CSV является наиболее простой, но может Excel восстановить формат столбца из данных CSV - это очень важно для нас, что валютные данные экспортируются в виде цифр и расчетов можно сделать на них, эти данные даты экспортируются как даты. CSV не имеет данных этого типа.
  • XML кажется многообещающим, поскольку ввод данных и форматирование могут быть добавлены к данным, но какой формат XML требуется для Excel, этот формат описан в любом месте?
  • Файл DB кажется перспективным, но он довольно старый, и я не уверен, нет ли ограничений на количество данных.

Я ищу решение для Delphi 6.

+5

С помощью [XLSReadWriteII] (http://www.axolot.com/xls.htm) вы можете напрямую читать или записывать в формат XLS без Excel. –

+0

Может быть, SQLLite? Но я не уверен, что это нормально для такого большого количества строк. –

+0

@ LURD спасибо за упоминание. Я уже много лет не работаю с excel. Но приятно знать, что есть такая библиотека! –

ответ

2

Я бы рекомендовал использовать ADODataset. Вы можете напрямую писать файлы Excel через Adodataset. Вам нужно только использовать правильную строку соединения: connectionstrings. Это все компоненты MS и не должны иметь проблем с большими наборами данных.

Смежные вопросы