C:\php5.3\test>C:\php5.3\php test.php PHP Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'T he filename test.xlsx is not recognised as an OLE file' in C:\php5.3\test\Classe s\PHPExcel\Shared\OLERead.php:89 Stack trace: #0 C:\php5.3\test\Classes\PHPExcel\Reader\Excel5.php(1164): PHPExcel_Shared_OLER ead->read('test.xlsx') #1 C:\php5.3\test\Classes\PHPExcel\Reader\Excel5.php(612): PHPExcel_Reader_Excel 5->_loadOLE('test.xlsx') #2 C:\php5.3\test\test.php(9): PHPExcel_Reader_Excel5->load('test.xlsx') #3 {main} thrown in C:\php5.3\test\Classes\PHPExcel\Shared\OLERead.php on line 89 Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'The fi lename test.xlsx is not recognised as an OLE file' in C:\php5.3\test\Classes\PHP Excel\Shared\OLERead.php:89 Stack trace: #0 C:\php5.3\test\Classes\PHPExcel\Reader\Excel5.php(1164): PHPExcel_Shared_OLER ead->read('test.xlsx') #1 C:\php5.3\test\Classes\PHPExcel\Reader\Excel5.php(612): PHPExcel_Reader_Excel 5->_loadOLE('test.xlsx') #2 C:\php5.3\test\test.php(9): PHPExcel_Reader_Excel5->load('test.xlsx') #3 {main} thrown in C:\php5.3\test\Classes\PHPExcel\Shared\OLERead.php on line 89
対応方法:The filename test.xlsx is not recognised as an OLE file(PHPExcel_Reader_Exception)
スポンサーリンク
PHPExcel では、'Excel5' を引数として生成したファイルリーダーで、 Excel 2007 以降のファイル形式(*.xlsx)を読み込もうとすると、PHPExcel_Reader_Exception が発生します。
この例外が発生するサンプルコードは以下の通りです。
php(実行可能なサンプルコード) | |
1 2 3 4 5 6 | //PHPExcelの読み込み require_once("./Classes/PHPExcel.php"); //既存のエクセルファイルの読み込み(リーダーのバージョンとファイルのバージョンがアンマッチ) $obj_reader = PHPExcel_IOFactory::createReader('Excel5'); $obj_book = $obj_reader->load('test.xlsx'); |
実行すると、PHPExcel_Reader_Exception が発生し、The filename test.xlsx is not recognised as an OLE file というエラーメッセージが表示されます。
対応方法
リーダーを生成する際に 2007 以降のファイル形式(*.xlsx)に対応する引数 'Excel2007' を指定します。
php(実行可能なサンプルコード) | |
1 2 3 4 5 6 | //PHPExcelの読み込み require_once("./Classes/PHPExcel.php"); //既存のエクセルファイルの読み込み $obj_reader = PHPExcel_IOFactory::createReader('Excel2007'); $obj_book = $obj_reader->load('test.xlsx'); |
このように修正することで問題なくエクセルファイルが読み込めるようになります。
スポンサーリンク
- エラー対応
- 対応方法:The filename test.xlsx is not recognised as an OLE file(PHPExcel_Reader_Exception)