当前位置:首页 - 后端

thinkphp3.2 PHPExcel excel 数据读取

发布时间:2019年09月30日 访问量:3326
/**
 * 导入excel文件
 * @param  string $file excel文件路径
 * @return array        excel文件内容数组
 */
function import_excel($file){
    // 判断文件是什么格式
    $type = pathinfo($file);
    $type = strtolower($type["extension"]);
    $type=$type==='csv' ? $type : 'Excel5';
    ini_set('max_execution_time', '0');
    // 引入PHPExcel类
    import("Org.Util.PHPExcel");
    // 判断使用哪种格式
    $objReader = \PHPExcel_IOFactory::createReader($type);
    $objPHPExcel = $objReader->load($file);
    $sheet = $objPHPExcel->getSheet(0);
    // 取得总行数
    $highestRow = $sheet->getHighestRow();
    // 取得总列数
    $highestColumn = $sheet->getHighestColumn();
    ++$highestColumn;
    //循环读取excel文件,读取一条,插入一条
    $data=array();
    //从第一行开始读取数据
    for($j=1;$j<=$highestRow;$j++){
        //从A列读取数据
        for($k='A';$k!=$highestColumn;$k++){
            // 读取单元格
            $data[$j][]=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
        }
    }
    return $data;
}

// 导入xls格式的数据
        $newdata=array();
        $k=0;
        $data=import_excel('./sp_gm_people.xls');
        //文件第一行是字段如:id,name……等
        $data_tit=$data[1];
        unset($data[1]);
        foreach ($data as $key => $value) {
            $k++;
            foreach ($value as $k1 => $v) {
                $newdata[$k][$data_tit[$k1]]=$v;
            }
        }
        print_r($newdata);
        exit();
        // 导入xls格式的数据 end