The filename 1.xlsx is not recognised as an OLE file
twocode

    在使用Yii 2.0 配置phpexcel时,可以使用composer安装:

但是因为网络原因,成功率不高!

    于是直接下载,进行手动安装:

    https://github.com/PHPOffice/PHPExcel/archive/1.8.1.zip

    Yii2.0 Basic版,仅供参考:

    web同级创建目录common,config/web.php配置:

'aliases' => [
    'common'=>dirname(__DIR__) . DIRECTORY_SEPARATOR . 'common',
    ]

    在index.php加载:

require (__DIR__ . 'common/PHPExcel.php');//以自己的目录为准

在controller调用的时候就是 new \PHPExcel()

但是实际的处理文件时:


$excelReader = \PHPExcel_IOFactory::createReader('Excel5');

$phpexcel    = $excelReader->load($excelFile)->getSheet(0);//载入文件并获取第一个sheet  

$rows = $phpexcel->getHighestRow();//总行数  

$cols = $phpexcel->getHighestColumn();//总列数 

报错:The filename 1.xlsx is not recognised as an OLE file

是因为Excel5代表调用的Excel2007,只能处理**.xls文件,而**.xlsx文件是Excel2017版的,所以需要动态获取文件的类型:


$fileType   = \PHPExcel_IOFactory::identify($excelFile); //文件名自动判断文件类型  
                    
$excelReader  = \PHPExcel_IOFactory::createReader($fileType);  


网友评论已关闭