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

TOP-10 программ
Symantec Norton Ghost 9.0
Partition Magic 8.0.2 Pro
Xilisoft 3GP Video Converter v3.1.7.0616b
Norton AntiVirus 2005
Xilisoft 3GP Video Converter v2.1.52.831b
Антивирус Касперского Personal 5.0.303 beta 2
RAR Password Cracker 4.12
ABBYY PDF Transformer v1.00.820
MP3 To Ringtone Gold v3.02
Mobtime Cell Phone Manager v5.3.1
 
Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
 
 

   Программирование -> 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
Структуры и базы данных, методы сортировки
 

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

 
Популярные книги

Технология программирования на C++. Начальный курс

Подробнее

Photoshop CS2. Настоящий самоучитель

Подробнее

SQL для "чайников", 5-е издание

Подробнее

 

 
Новости ИТ
01.12.2008  Buffalo выпустил миниатюрные USB-накопители
01.12.2008  VENTO TA-U1 - стильный корпус представлен Asus
01.12.2008  Fujitsu-Siemens выпускает в продажу внешний ускоритель для ноутбуков
01.12.2008  Оригинальные чехлы для ноутбуков от Choiix
01.12.2008  Опубликован код драйвера для беспроводных карт Atheros
01.12.2008  Лучший блог 2008
01.12.2008  Linux запустили на Apple iPhone
01.12.2008  LG KC780
01.12.2008  MSI дополнит линейку Wind-нетбуков двумя моделями
01.12.2008  Nikon D3X - 24,5 млн пикселей для профессионалов
01.12.2008  Киловаттник HIPER M1000 с КПД выше 85%
01.12.2008  AMD впервые снизила цены линейки Radeon HD 4800
01.12.2008  Чистильщики: Wise Registry Cleaner v.3.8.2
01.12.2008  Антивирусы: RemoveIT Pro v4 SE (30.11.2008)
01.12.2008  Корпус ASUS Vento TA-U1 можно поставить вместо новогодней ёлки
01.12.2008  Диагностика: PC Wizard 2008 v.1.871
01.12.2008  Диагностика: NextSensor v.2.7.6.0 Build 1130
01.12.2008  Тестовые приложения: PassMark BurnInTest v.6.0 Build 1000 Beta 15
01.12.2008  Неофициальные драйверы для модемов Motorola
01.12.2008  Драйверы и утилиты для сетевых хранилищ D-Link
 
Полезно

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