mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!
Статья является инструкцией по использованию программы «Прайс-лист»

Какие прайс-листы поддерживаются

Если в двух словах: поддерживаются любые файлы, которые открываются в Microsoft Excel,
и содержат данные в виде таблицы

(не более одной таблицы на листе; в одной строке - данные по одному товару. Листов может быть несколько - не обязательно одинаковых по структуре.
Под эти требования подходят около 95% прайс-листов. Исключения редки, - например, прайсы на мебель, где структура таблиц почти всегда ужасна...)

 

Программа обработки прайс-листов поддерживает следующие форматы файлов:

  • файлы CSV (текстовый файл с разделителями)

Разделитель строк и столбцов может быть любым (например, в качестве разделителей столбцов допустимы: запятая, точка с запятой, табуляция, вертикальная черта)
Поддерживается несколько кодировок (Windows-1251, UTF-8, и т.п.)
Текстовые значения в файле могут экранироваться двойными кавычками

 

  • файлы Excel (XLS, XLSB, XLSM, XLSX, и т.п.)

В случае с книгами Excel дело обстоит намного сложнее, но около 99% прайсов в формате Excel программой успешно обрабатываются.

Поскольку формат CSV подразумевает текстовый файл с одной таблицей, - то там все просто: либо есть таблица с данными, либо файл пустой.
В случае же с книгами Excel не всё так однозначно - нельзя дать гарантию, что тот или иной файл корректно обработается программой.
Формат файла XLS поддерживает слишком много возможностей - по идее, на экране вы можете видеть совсем не то, что на самом деле хранится в ячейках.
Самый простой пример - картинка (графический файл, вставленный на лист Excel). В этом случае вы видите на экране слова и цифры, но программа не может получить доступ к этим данным.

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

Поддерживаются таблицы как линейной, так и иерархической структуры.

Программа в плане настроек достаточно гибкая, так что практически любой файл Excel можно обработать, особенно если задействовать такой функционал программы, как вычисляемые поля (формулы), и таблицы подстановки (замены)

 

Поскольку формат очередного прайс-листа в большинстве случаев зависит только от фантазии сотрудников дистрибьютора, могут попадаться и прайсы, которые программа не сможет обработать.

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

Как показывает практика, бороться за предоставление прайс-листов в нормальном формате (доступном для программной обработки) нереально.
В большинстве случаев, прайс-листы формируются так, чтобы при просмотре и печати они выглядели более-менее сносно, а об организации нормальной структуры прайс-листа мало кто задумывается.
Иногда дилеры намеренно формируют и рассылают прайс-листы, не поддающиеся обработке
(например, перед отправкой прайс-листа переводят его в картинку, или ПДФ), из каких-то своих соображений.

Так что, в общем случае, сведение различных прайс-листов в единый формат - задача весьма и весьма нетривиальная.

 

Комментарии

Здравствуйте! Думаю, весьма разумно было бы связать Вашу программу в единую систему с FineReader-Ом, FineReader распознает прайс, переводит его в требуемый формат, Ваша программа из того что получилось извлекает необходимые данные.
Мне кажется так было бы разумно.
Спасибо!

Всё просто, - заходите на страницу программы «Прайс-лист», скачиваете, и тестируете

Желаем потестить вашу программу. как это можно сделать?

Отправить комментарий

CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____      _  __     __         __        __   __   
| _ \ (_) \ \ / / _ _ \ \ / / / /_
| | | | | | \ \ / / | | | | \ \ /\ / / | '_ \
| |_| | | | \ V / | |_| | \ V V / | (_) |
|____/ _/ | \_/ \__, | \_/\_/ \___/
|__/ |___/
Введите код, изображенный в стиле ASCII-арт.