18.06.2014 11:34
AndreyZh
 
Вчера "глубоко" вникал в новую "индивидуальную" программисткую задачку: суть элементарная - от покупателя приходят заявки в виде электронных таблиц xls (пока формата 97-2007) упакованных архиватором 7z. Таблицы для разных областей и форматов магазинов покупателей приходят разными письмами. В каждой таблице сводная заявка на несколько (от 1 до 180) магазинов - формат вроде бы единный. Затем диспетчера "разбивают" заявки по маршрутам доставок, а операторы вводят их в предварительные заказы, формируя план производства (для этого этапа уже были улучшения "УС Лэнд", поднявшие производительность операторов в несколько раз)... но сейчас число заказов магазинов выросло до 400 в день и просто банально некуда сажать новых (если принимать) диспетчеров и операторов, т.е. мне нужно придумать нечто, которое ещё в несколько раз ускорит их работу... в самом деле давно придумал - осталось только сделать.

Подготовительные (возможные) задачи:

1. Считать приложенный файл *.7z из письма - уже умею (делал) в рамках инструмента разработки... но как-то "нерегламентировано" посылаются подтверждения, т.ч. может быть сами будут сохранять в нужный мне каталог.

2. Разархивировать посылку. Это просто: есть "командный" вариант freeware архиватора 7z.exe (приложен), который могу вызывать из батника или программы.

3. Далее нужно "разобрать" *.xls - тут "засада": инструмент разработки может вызывать ole объекты, но на ПК должны быть установлены "офисы" - они есть и все разные... кроме того "опыт" общения показал "тормознутость" данных технологий.

Начал искать - нашел прекрасную, постоянно развивающуюся freeware программу xls2csv (приложена), которая в интерфейсном или командном режиме (данный вариант приложен) переводит xls(x) в csv файлы требуемой кодировке... ну а *.csv можно считать любым приложением или обработать, т.к. это обычный текстовый файл, где поля (колонки) отделены разделителем.
Вложения
Тип файла: 7z 7z.7z (63.0 Кб, 182 просмотров)
Тип файла: 7z xls2csv.7z (545.8 Кб, 175 просмотров)