mend0za: (Default)
mend0za ([personal profile] mend0za) wrote2010-11-03 05:48 pm

Обращение к духам промышленной автоматизации

Как обычно - хочется страшного.

А именно - мне надо из Excel-таблицы генерить конфигурацию для моего кодогенератора (awk).
Конфигурация - в CSV-формате. Заказчик обоссал себе пятки и уже внёс в план.

Чо делать? Куда бежать? Кому сдаваться?

Update1, Use Case:
1. Есть Excel созданный лучшими умами современности, с данными о нашем формате и большой кнопкой "Сделать мне красиво".
2. Тупой лось малобюджетный junior-разработчик открывает xls-файл и нажимает большую красную кнопку.
3. Тупому лосю малобюджетному разработчику выдают диалог "Куда, сохранить сгенерированную конфигурацию, хозяин?"
4. Конфигурация сохранена и используется в компиляции.

Как мне представляется - тут чтото вроде VBA, но я областью не владею, потому спрашиваю.

Update2:Excel в роли GUI в котором рисуют конфигурацию на вход кодогенератора.

[identity profile] b0rmann.livejournal.com 2010-11-03 03:54 pm (UTC)(link)
Spreadsheet::ParseExcel (http://search.cpan.org/~jmcnamara/Spreadsheet-ParseExcel-0.58/lib/Spreadsheet/ParseExcel.pm)

[identity profile] yuripats.livejournal.com 2010-11-03 04:01 pm (UTC)(link)
А какие ограничения системы?
Просто XLS -> CSV конвертер или с дополнительными преобразованиями?

[identity profile] metaclass.livejournal.com 2010-11-03 04:23 pm (UTC)(link)
Любой парсер Excel, вплоть до самого Excel с внешними вызовами.
И ЖЭСТАЧАЙШЭ прописать в ТЗ формат входной таблицы, потому что иначе будет ад.

[identity profile] wildman.livejournal.com 2010-11-03 04:27 pm (UTC)(link)
python + xlrd
строчек 20 :)

[identity profile] g-rub.livejournal.com 2010-11-03 04:54 pm (UTC)(link)
Посмотрел апдейт. Сраный пиздец.

"Excel в роли GUI" -- очевиднейшим образом воплощает собой "дешёвое и упрощенное решение" для воплощения местными эникейщиками.

Поэтому вопрос только один -- схуя эта задача приехала к тебе в руки, да еще в неизменном виде?

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

Вариант, когда это делаешь ты -- максимальный по геморрою для всех заинтересованных сторон.

[identity profile] vp.livejournal.com 2010-11-03 06:10 pm (UTC)(link)
Я бы по возможности в экселе генерил бы конфигурацию, но не так.
Создаешь НУЖНУЮ ТЕБЕ заготовку csv (!!) файла
Они ее открывают хоть экселем, хоть чем угодно.
Сохраняют в csv (ниакого xls!!)
Далее помянутыми выше консольными тулзами спокойно и проверяется на формат, и преобразуется.
Все.