php导入不同excel版本遇到的问题

AndyYang| 阅读:3555 发表时间:2016-08-31 21:29:56 php
摘要:php导入excel一般选用php excel,php excel下载地址:http://phpexcel.codeplex.com
php导入excel一般选用php excel,php excel下载地址:http://phpexcel.codeplex.com

实际调用:
function getExcelData($filename) {
    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    $objReader->setReadDataOnly(true);
    $objPHPExcel   = $objReader->load($filename);
    $objWorksheet  = $objPHPExcel->getActiveSheet();
    $highestRow    = $objWorksheet->getHighestRow();
    $highestColumn = $objWorksheet->getHighestColumn();
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
    if($highestRow==0) return;
    
    for($row = 1; $row <= $highestRow; $row++) {
        for($col = 0; $col < $highestColumnIndex; $col++) {
            $excelData[$row][] = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
        }
    }

    return $excelData;
}
结果发现有些excel文件上传读取失败,直接服务器500。检查看了下,原来php excel在不同的版本,实例化类是不一样的。
2003以前的excel读取实例化excel5类,2003以后需要实例化excel2007类,so,改改$objReader实例化的地方:
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
if(!$objReader->canRead($filename)) {
    $objReader = PHPExcel_IOFactory::createReader('Excel5');
    if(!$objReader->canRead($filename)) return;
}

小记,以防他日忘记。

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:

  • 最新评论

iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号