Izmena
@Izmena

Как работать Excel-документами в Delphi?

Здравствуйте.
Была поставлена задача преобразовывать 1 Excel документ в несколько других.
Есть одна большая таблица Excel с несколькими сотнями товаров, которые делятся типу товара и каждый тип имеет с несколько десятков внутритиповых характеристик. Необходимо на основе этой большой таблицы создавать прайс-лист на несколько страниц, с разбиением на характеристики и прочее и на отдельные 4 файла для выгрузки на нескольких узкоспециализированных сайтов.
Было решено решить это программно на Delphi, но не работал в нём над экселевскими документами. Нужны адекватные мануалы без надобности для долгого изучения - нужно всё сделать за неделю. Помогите, пожалуйста, материалами и советами, ссылками.

Для умных дядек - я ужасный кодер и более-менее комфортно чувствую себя в нём, простите.
  • Вопрос задан
  • 3318 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Mercury13
Программист на «си с крестами» и не только
Есть два варианта, автоматизация OLE и прямая поддержка XLS-файлов.

Я сумасшедший и по спецификациям Micro$oft написал второе (всё-таки в коммерческой программе, от которой, впрочем, не требуются никакие оформительские изыски, так лучше).

Для разовой утилиты лучше первое. Ещё можно работать через CSV.
Ответ написан
SHVV
@SHVV
Через Automation. Вот, например, первая ссылка из Гугла: Delphi + Excel.
Вообще, Excel-евский Automation можно хоть скриптами (JScript, VBScriopt) дёргать.
Ответ написан
Комментировать
Nashev
@Nashev
Вам уже не надо, но пусть ответ тут будет для читателей:
Если писать через OLE Automation, то вся работа с самим экселем получится ровно такой же, как на встроенном в него Visual Basic for Application, на котором свои макросы он сам предлагает писать, лишь отягчённая особенностям типов данных в Delphi. Более того, чтобы отладить эту часть, проще всего сначала написать её на самом VBA именно как макрос, отладить и лишь потом уже переносить в Delphi, меняя лишь мелочи синтаксиса.

Главное, что хочу сказать: если в рамках этого кода не понадобятся ничего такого, чего не мог бы сделать VBA, то скорее всего нет никакого смысла этот макрос переносить в Delphi. "Макросы" VBA могут многое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы