phpexcel導入excel文件報the filename xxx is not recognised as an OLE file錯誤。


工作中頻繁會用phpexcel類導入excel文件的數據到數據庫,目前常用的excel文件格式有:xls、csv、xlsx。

剛開始,針對xls文件,使用如下程序,能正常運行:

$objReader = PHPExcel_IOFactory::createReader("Excel5"); //創建讀入器
$objExcel = $objReader ->load($file); //加載文件
$sheet = $objExcel ->getSheet(0); //讀取文件

當文件后綴是xlsx 或者 csv 就會報:the filename xxx is not recognised as an OLE file錯誤。

原因是不同的后綴文件需要不同的加載方式,完整方案如下:

 
         
if (!file_exists($fileName)) {
    die('no file!'); }
$extension = strtolower( pathinfo($fileName, PATHINFO_EXTENSION) );

if ($extension =='xlsx') { $objReader = new PHPExcel_Reader_Excel2007(); $objExcel = $objReader ->load($file); } else if ($extension =='xls') { $objReader = new PHPExcel_Reader_Excel5(); $objExcel = $objReader ->load($file); } else if ($extension=='csv') { $PHPReader = new PHPExcel_Reader_CSV(); //默認輸入字符集 $PHPReader->setInputEncoding('GBK'); //默認的分隔符 $PHPReader->setDelimiter(','); //載入文件 $objExcel = $PHPReader->load($file); } $sheet = $objExcel ->getSheet(0);

這樣就能正常運行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM