一般要用PHP讀取Excel檔,大部份的人都會使用PHPExcel,但是官網友說:

Requirements

  • PHP version 5.2.0 or higher
  • PHP extension php_zip enabled *)
  • PHP extension php_xml enabled
  • PHP extension php_gd2 enabled (if not compiled in)

如果你的PHP是5.2.10以前的版本,你會發現,要讀取.xlsx的檔案,根本就讀不出來。

 

原因是在他有用到libxml_disable_entity_loader 這個function,他是PHP 5.2.10以後才有支援。
他又在前面加上@,就會變成,你根本搞不清楚什麼狀況。

解決方法,就是把原本的
@libxml_disable_entity_loader($options == (LIBXML_DTDLOAD | LIBXML_DTDATTR));
換成
$options == (LIBXML_DTDLOAD | LIBXML_DTDATTR);
這樣就可以了。

至於@libxml_disable_entity_loader($options == (LIBXML_DTDLOAD | LIBXML_DTDATTR)); 在哪?
他在\Classes\PHPExcel\Settings.php中,一共有兩個,可以透過編輯器直接搜尋全文會比較快。

希望有幫助到別人。部要跟我一樣,花了一個下午去de人家寫的Bug。

arrow
arrow

    阿基 發表在 痞客邦 留言(1) 人氣()