Библиотека PHPExcel. Как запретить открытие в защищенном режиме?

Рейтинг: 0Ответов: 1Опубликовано: 09.11.2014

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

Эта схема вроде сработала. Но есть одна неприятность. Когда пользователь загружает файл и открывает его, то открытие происходит в защищенном режиме, в котором эти ячейки почему-то остаются такими, какими и были в шаблоне. И только после того, как я разрешаю редактирование, ячейки меняются как надо и диаграммы принимают должный вид.

Можно ли как-то в шаблоне или программно запретить открывать файл Excel в защищенном режиме? Или, может быть, подскажете какие-нибудь другие решения?

Ответы

▲ 1

Защищённый режим защищает пользователя от макросов и прочего автоматически исполняющейся потенциально вредного кода. Если бы любой документ мог его отключить, какой был бы смысл в этом режиме?

Вы можете сгенерировать данные программным путём, но после этого заполните ими документ на стороне сервера и отдавайте пользователю этот документ готовым, без того, чтобы ваш код бежал на процессоре юзера. Тогда проблем не будет.