Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> Delphi / Pascal -> Сравнение библиотек для работы с файлами Misrosoft Excel


Сравнение библиотек для работы с файлами Misrosoft Excel

Самым удобным, полным и хорошо документированным способом работы с файлами MS Excel является использование OLE Automation с Microsoft Excel. Единственный его недостаток - низкая скорость, поэтому данный способ неприемлем для больших объемов данных. Возникает необходимость использовать библиотеки, работающие с файлами напрямую, и скорость является основной характеристикой для данного класса продуктов.

В данной статье мы рассмотрим и сравним несколько библиотек для Borland Delphi, предоставляющих разработчикам возможность работать с файлами Microsoft Excel напрямую, без использования OLE Automation и самого Microsoft Excel.

Перечислим библиотеки, которые мы будем рассматривать, и приведем их краткое описание.

Название Описание Производитель и сайт WWW
TXLSFile v.3.1 Библиотека невизуальных классов для чтения и записи файлов MS Excel, дополнительно включает в себя набор визуальных компонентов для экспорта данных из db-aware компонентов в файлы MS Excel. SM Software
http://sm-software.com
XLSReadWriteII Библиотека визуальных и невизуальных классов для чтения и записи файлов MS Excel, дополнительно включает в себя компоненты для экспорта данных из dataset в файлы MS Excel и экспорта из файла MS Excel в HTML. Axolot
http://axolot.com
FlexCell v.2.6.7 Генератор отчетов, реализованный в форме визуальных компонентов. Содержит компоненты для формирования отчетов в файлы MS Excel на основе шаблонов, компоненты для работы с шаблонами. TMS Software
http://www.tmssoftware.com

Мы рассмотрим эти библиотеки как с точки зрения производительности, так и с точки зрения удобства использования для разработчика.

Удобство использования для разработчика

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

  • Архитектура
  • Наличие и качество документации

Архитектура

Библиотека Описание архитектуры
TXLSFile v.3.1 Набор классов для прямого доступа к файлам MS Excel. Простая иерархия объектов полностью избавляет пользователя от необходимости знать внутреннее устройство файла.
XLSReadWriteII Набор классов для прямого доступа к файлам MS Excel. Требуются дополнительные действия при записи файла. Например, перед записью ячеек требуется заранее знать все возможные форматы ячеек, которые будут использоваться (формат ячейки включает в себя цвет текста и фона, параметры шрифта, параметры границ, выравневание и т.д.), и добавить их в таблицу форматов. При записи ячеек для каждой ячейки требуется указать номер формата из таблицы форматов.
FlexCel v.2.6.7 FlexCel - это генератор отчетов, а не средство прямого доступа к файлам MS Excel. Для того чтобы записать данные в файл MS Excel, требуется предварительно создать файл-шаблон, задать в нем поля, и затем реализовать обработчики событий для компонентов.

Наличие и качество документации

Библиотека Сведения о документации
TXLSFile v.3.1 Один документ в формате CHM. Включает в себя краткое описание возможностей и справочник (Programmer's Reference) по классам библиотеки. Для каждого класса описаны его свойства и методы. Содержит примеры кода почти для каждого класса.
XLSReadWriteII Один документ в формате HLP. Включает в себя краткое описание возможностей и справочник (Programmer's Reference) по классам библиотеки. Для каждого класса описаны его свойства и методы. Не содержит примеров.
FlexCel v.2.6.7 Набор документов в формате MS Word (DOC):
  • Документ readme.doc содержит описание архитектуры FlexCel и краткое описание каждого объекта (без детального описания свойств и методов).
  • Документ "Using FlexCelReport" содержит подробное пошаговое руководство для разработчика, начинающего использовать FlexCel.

Производительность

Для сравнения производительности мы проведем несколько тестов записи файлов MS Excel.

Сначала приведем некоторые сведения о внутреннем формате файла MS Excel, которые понадобятся нам при анализе результатов тестов. В файле MS Excel все строковые значения ячеек хранятся в таблице строк, при этом ячейки содержат только указатели на элементы таблицы строк. В таблице строк собраны уникальные строковые значения ячеек (например, если все текстовые ячейки в рабочей книге содержат одно и то же значение, в таблице строк будет один элемент). Одна из важных задач при записи файла MS Excel - быстро построить таблицу строк.

При записи файла MS Excel библиотеки выполняют два вида действий - анализ и подготовка данных к записи и непосредственно запись в файл. Анализ данных, в частности, включает в себя создание таблицы строк.

Платформа для тестирования

CPU 1800 MHz
RAM 256 Mb
OS Windows 2000 Server

Тест 1 - большое число ячеек с одинаковым строковым значением

Заполним 50000 ячеек одинаковым строковым значением. Этот тест, показывает скорость записи данных в файл. Так как все ячейки содержат строковое одинаковое значение, то таблица строк здесь строится быстро. Время анализа и подготовки данных в данном случае не существенно влияет на результат.
Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 1,031
XLSReadWriteII 0,531
FlexCel v.2.6.7 2,453

Тест 2 - большое число ячеек с различными случайными строковыми значениями

Заполним 50000 ячеек различными строками, состоящими из набора случайных символов, и имеющими длину от 10 до 60 символов. Этот тест показывает скорость построения таблицы строк. Чем больше различных текстовых значений в файле MS Excel, который нужно создать, тем важнее этот показатель.
Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 2,033
XLSReadWriteII 125,130
FlexCel v.2.6.7 10,440

Тест 3 - большое число ячеек с различными случайными числами

Заполним 50000 ячеек различными случайными числами. Этот тест, как и Тест 1, показывает скорость записи данных в файл. Так как ячейки не содержат строковых значений, то таблица строк здесь будет пустая. Время анализа и подготовки данных в данном случае не существенно влияет на результат.
Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 0,801
XLSReadWriteII 0,510
FlexCel v.2.6.7 2,070

Тест 4 - большое число ячеек с разнородными данными

Этот тест моделирует запись типичного файла MS Excel, содержащего и строковые значения, и числа. Возьмем задачу, которую выполняет демо-приложение StressTest из библиотеки FlexCel. Требуется провести экспорт 6000 строк, каждая из которых содержит 30 столбцов - итого 180000 ячеек. При этом в 2 столбцах будут содержаться различные строки, состоящие из набора случайных символов, и имеющие длину от 10 до 60 символов. В черырех других столбцах будут содержаться постоянные строковые значения. Остальные столбцы заполним случайными целыми числами.
Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 3,77
XLSReadWriteII 8,98
FlexCel v.2.6.7 5,09

Желающие могут скачать исходные тексты тестовых приложений (8.59K). Для того, чтобы их скомпилировать и запустить, Вам дополнительно потребуется получить и установить демо-версии рассматриваемых библиотек на сайтах их производителей.

Автор: Ольга Сосонных
Источник: www.delphiplus.org

Ссылки по теме
Введение в Delphi 8
Работа с реестром в Delphi
Delphi и ресурсы компьютера
Советы начинающим программировать на Delphi
Структуры и базы данных, методы сортировки
 

Компьютерная документация от А до Я - Главная

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.