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

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

剛開始,針對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錯誤。spa

緣由是不一樣的後綴文件須要不一樣的加載方式,完整方案以下:excel

 
 
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);

這樣就能正常運行了code

相關文章
相關標籤/搜索