2013-09-07 2 views
0

я, кажется, имея 2 проблемы чтения данных из 2007 книги Excel с помощью PHPExcel:Чтение Excel листа с помощью PHPExcel не дает ожидаемых результатов

  1. Нет свойств документа были обнаружены;
  2. Значения от ячеек неформатированы.

sample.xlsx:

+--------+-----------+-------------+ 
| Office | Hr no PFU | Hr $ no PFU | 
+--------+-----------+-------------+ 
| AA01 | 18.50  | $ 13.14  | 
| BW23 | 1020.03 | $ 123.23 | 
+--------+-----------+-------------+ 
  • Значение в ячейках ниже Hr не ОРП был отформатирован с использованием Учета 2 знаков после запятой.
  • Значения в ячейках ниже Hr $ no PFU были отформатированы также с использованием учета в 2 десятичных знака с символом $.
  • В книге также есть свойства документа для автора, темы и названия.

Tweak из exampleWorkBookReader02.php (один из примеров, приведенных в документации):

$inputFileType = 'Excel2007'; 
$inputFileName = './sampleData/sample.xlsx'; 

/** Create a new Reader of the type defined in $inputFileType **/ 
$objReader = PHPExcel_IOFactory::createReader($inputFileType); 

/** Load $inputFileName to a PHPExcel Object **/ 
$objPHPExcel = $objReader->load($inputFileName); 

/** Read an array list of any custom properties for this document **/ 
$customPropertyList = $objPHPExcel->getProperties()->getCustomProperties(); 
foreach($customPropertyList as $customPropertyName) { 
    echo $customPropertyName,'<br />'; 
} 

/** Read cell values **/ 
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true); 

var_dump($sheetData); 

(BTW оригинальный сценарий с помощью файла из документации ВЫХОДЫ список пользовательских свойств без каких-либо их значений.)

Теперь у меня есть эта проблема только с книгами Excel 2007. Так что это заставляет меня задаться вопросом, является ли отсутствующий я один из requirements, но я не верю, что так:

  • PHP версии 5.5
  • php_zip и php_xml, которые включены по умолчанию, нет?
  • php_gd2 включен

Есть ли способ, чтобы проверить, будет ли что-то не хватает?

+0

Проблема с неформатированными значениями может быть связана с тем, что вы используете формат учета и два десятичных знака - см. [Здесь] (http://stackoverflow.com/q/25908380/328817). – Sam

ответ

0

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

Из PHPExcel docs ясно, что он поддерживает Excel2007, и он также работал на вашем dev env, не так ли? Хорошо проверьте зависимости и посмотрите, что там не так.

Также есть некоторая ошибка aynwhere в системных журналах? Возможно, PHPExcel уже жалуется на это «За кулисами»?

Кроме того, вы можете захотеть использовать что-то вроде (или точно) Vagrant для синхронизации среды - таким образом, вы всегда будете уверены, что ваш env на вашем компьютере-разработчике и на ваших серверах будет одинаковым.

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