Runtime rt=Runtime.getRuntime();
Process p=rt.exec("C:\\Program Files\\Microsoft Office\\Office\\EXCEL.EXE c:\\report.xls");
запуск Excel Из Java
Создаю Excel-отчет в Java, сохраняю его в файл c:\report.xls (сохранение проходит успешно). После этого пытаюсь открыть этот отчет:
Код:
Результат - окно Excel не открывается, хотя сам он в списке процессов присутствует. Эксперименты с различными вариантами задания пути (например, "C:/Program Files/Microsoft Office/OFFICE/EXCEL.EXE c:/report.xls"), взятием пути к Excel и файлу в кавычки, запуском просто Excel безо всякого файла привели к аналогичному результату.
В чем может быть проблема?
Уверен, что проблемма именно тут? Такая конструкция как раз без проблем должна открыть окно нужную софтину, если конечно путь правильно укзан. Еще можно было бы путь для софтины в дополнительные ковычки взять - он же с пробелами, но даже так это может работать.
Как и было сказано ранее в самом вопросе, наличие кавычек не помогает. Очень сомневаюсь, что дело в запускаемой программе, ибо через cmd с использованием абсолютно такой же команды (только здесь уже с кавычками, естественно) она запускается.
Посмотрел почему - оказалось что у меня просто Excel в другом месте:
C:\\Program Files\\Microsoft Office\\Office11\\EXCEL.EXE
Исправил - заработало...
По-етому могу сказать только одно - так как у тебя ексепшен не сипался, то excel запускаеться. Может у тебя проблема з созданием рапорта. Проверь: создай файл в excel и попробуй его открить - если откроется, тогда сохранение рапорта в JAVA проходит "не успешно" (не коректно).
Черт его знает, почему Excel не вызывается стандартным путем. Может и не Java проблема, и не в Excel'е. Времени выяснять как всегда нет. Поэтому отчеты буду сохранять в определенную папку, а открывать их пользователи будут самостоятельно (тем более что они не против).
Всем спасибо за участие, идеи и потраченное время. Вопрос снят.