Forum Webscript.Ru
Программирование => Perl => Тема начата: Kouz от 24 Апреля 2004, 12:05:05
-
Есть WinXP c сервером Apache.
В процессе работы perl скрипт запускает Excel, тот автоматически формирует .xls файл, который затем будет отдан клиенту.
Проблема в том, что из под Апача не получается запускать perl скриптом приложения с GUI интерфейсом. Программы не имеющие GUI запускаются без проблем.
Если выполнять perl скрипт не из под Апача, а из командной строки, по запускаются любые приложения с GUI и без.
Проблема также описана здесь:
http://perl.apache.org/docs/general/os/win32/faq.html#Why_can_t_my_scripts_execute_external_programs_with_GUI_frontends_from__within_Apache_mod_perl_
Предлагают запускать программы в ключем /quiet чтобы они GUI не возбуждали. Но у Exсel\'я "тихого" ключа нет.
Кто-нибудь пробовал решать такую задачу?
-
perldoc Spreadsheet::WriteExcel
-
Chs, спасибо за ответ, но я думаю Вы меня не совсем поняли. Мне не нужно из моего скрипта читать/писать файлы Excel.
Мне нужно запустить сам Excel из скрипта. Притом скрипт запускается сервером Apache.
Ценность Excel\'я в моем случае заклютается в том, что в нем установлены дополнительные add-on\'ы которые и производят действия над данными. Обрабатывать эти данные напрямую из perl скрипта просто не реально.
-
Kouz
...запускает Excel, тот автоматически формирует .xls файл, который затем будет отдан клиенту.
А как ты предполагаешь Excel будет отдавать этот файл клиенту? AFAIK Excel не работает как веб приложение...
...которые и производят действия над данными. Обрабатывать эти данные напрямую из perl скрипта просто не реально.
Не думаю, что какие-то вещи сделать будет не реально... Смотри доку на модуль который указал Chs, от себя могу добавить:
perldoc Spreadsheet::ParseExcel - это для чтения .xls файла
-
Phoinix:
А как ты предполагаешь Excel будет отдавать этот файл клиенту?
А если задача екселя - сформировать файл и положить на диск, а оттуда средствами скрипта - клиенту.
-
Так и есть. Файл формируется и сохраняется средствами екселя. Затем скрипт отдает этот файл клиету.
Дело в том, что в екселе для обработки данных уже написаны VB макросы, к тому же в екселе установлены дополнительные программы (add-on) других разработчиков.
Переделывать систему, чтобы все данные обрабатывались perl\'ом действительно не реально.
Спасибо.