使用PHPExcel导入Excel内容

By | 2017年6月22日

PHPExcel库可以很方便的读取Excel内容,在项目中可以快速使用,传入excel路径,返回由行列组成的二维数组。

Excel数据如下:

php代码如下:

<?php

class import {

    public static function import_excel($filePath){
        require_once cw::$config['export']['dir'];//phpexcel库文件地址

        $PHPExcel = new PHPExcel();

        //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取
        $PHPReader = new PHPExcel_Reader_Excel2007();
        if(!$PHPReader->canRead($filePath)){
            $PHPReader = new PHPExcel_Reader_Excel5();
            if(!$PHPReader->canRead($filePath)){
                echo 'no Excel';
                return ;
            }
        }
        $PHPExcel = $PHPReader->load($filePath);
        $currentSheet = $PHPExcel->getSheet(0);
        $allColumn = $currentSheet->getHighestColumn();
        $allRow = $currentSheet->getHighestRow();
        for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
            for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
                //ord()将字符转为十进制数
                $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();
                if($val){
                    $data[$currentRow-2][ord($currentColumn) - 65] = $val;
                }
            }
        }
        return $data;
    }
}

最终返回的数据格式如下: