2015-05-21 7 views
2

Недавно я загрузил сгенерированный файл Excel (xlsx) из Интернета и сохранил его на своем компьютере. Чтобы отредактировать этот файл в Excel, сначала нужно нажать «Защищенный просмотр - Включить редактирование», чтобы отредактировать документ.PHPExcel - прочитал загруженный файл xlsx

Когда я загружаю файл на сервер, не открывая сначала этот файл в Excel, PHPExcel не может распознать данные в файле Excel. После открытия файла в Excel и нажатия «Разрешить редактирование» и повторного сохранения файла, PHPExcel импортирует файл правильно.

Я проверил mimetype файла (сразу после его загрузки). Миметик - это «application/zip» (вместо «application/vnd.openxmlformats-officedocument.spreadsheetml.sheet»). После сохранения документа в Excel mimetype является «application/vnd.openxmlformats-officedocument.spreadsheetml.sheet».

код я использую для импорта файлов с помощью PHPExcel:

<?php 
$file_name = 'Excelfile.xlsx'; 

$objReader = PHPExcel_IOFactory::createReaderForFile($file_name); 

$objReader->setReadDataOnly(true); 

$objPHPExcel = $objReader->load($file_name); 

$worksheet = $objPHPExcel->getSheet(0); 
?> 

ли кто-нибудь знает, как можно читать файлы Excel с PHPExcel, без необходимости resaving файл в Excel?

ответ

0

«Защищенный вид» - это функция безопасности, встроенная в более поздние версии самого MS Excel/Office. Любой файл, загруженный из Интернета, рассматривается как подозрительный и требует от пользователя явно подтвердить, что он хочет включить его в режиме редактирования, прежде чем он сможет его редактировать.

Насколько я знаю, это не повлияло на способность PHPExcel загружать файл каким-либо образом, но я взгляну и посмотрю, смогу ли я определить причину этого. Не могли бы вы поднять его в качестве вопроса на github

+0

Спасибо за ваш ответ Марк и ваша хорошая работа! Должен ли я отправить вам два файла для тестирования? – Arjen

+0

Всегда полезно иметь файлы, которые демонстрируют проблему для целей тестирования (особенно если они достаточно малы, чтобы быстро запускать тесты) –

+0

Я отправил вам файл. Tnx! – Arjen

Смежные вопросы