PHPExcel----获取/导入excel文档数据【简单实用demo2】

excel导出/保存可参照另一篇博文:PHPExcel----保存/导出excel文档数据【简单实用demo】

首先要有PHPExcel类:传送门
只需要保存其中的Classes即可。
在项目中引用PHPExcel.php

先看看要获取的excel数据源表:

在这里插入图片描述

实现代码:

    public function getExcelContent(){
		//导入PHPExcel
    	include("./PHPExcel/PHPExcel.php");
    	//由于是本地开发测试,实用的是本地的文件(尽量不要用中文命名的)
        $filePath = "F:\project\build\yonghe_pc\application\Admin\Controller\personnel.xlsx";
		//if(file_exists($filePath)){
		//     echo '文件存在';
		// }
        $extension = strtolower(pathinfo($filePath, PATHINFO_EXTENSION));//判断导入表格后缀格式
        //根据不同的格式采用不同的读取方式
        if ($extension == 'xlsx') {
            $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
        }else if ($extension == 'xls'){
            $objReader =\PHPExcel_IOFactory::createReader('Excel5');
        }else{
            print_r('暂不支持该格式文本导入');
        }
        $objPHPExcel =$objReader->load($filePath, $encode = 'utf-8');
        $sheet =$objPHPExcel->getSheet(0);//激活第一个sheet表
        $highestRow = $sheet->getHighestRow();//取得总行数
        $highestColumn =$sheet->getHighestColumn(); //取得总列数
        //验证表头数据是否对齐
        $A1 = $objPHPExcel->getActiveSheet()->getCell("A1")->getValue();
        $B1 = $objPHPExcel->getActiveSheet()->getCell("B1")->getValue();
        $C1 = $objPHPExcel->getActiveSheet()->getCell("C1")->getValue();
        if($A1!='姓名'||$B1!='性别'||$C1!='民族'){
            print_r('EXCEL文本数据不对应');
        }
        for($i=2;$i<=$highestRow;$i++)
        {
            $row['name'] =$objPHPExcel->getActiveSheet()->getCell("A" .$i)->getValue();
            $row['sex'] =$objPHPExcel->getActiveSheet()->getCell("B" .$i)->getValue();
            $row['nation'] = $objPHPExcel->getActiveSheet()->getCell("C". $i)->getValue();
            $data[] = $row;
        }
        /**可忽略,为了展示效果*/
        header("Content-type: text/html; charset=utf-8");
        print_r("行数:{$highestRow}<br>");
        print_r("列数:{$highestColumn}<br>");
        print_r("表头:{$A1}---{$B1}---{$C1}<br>");
        print_r($data);
    	die;
        //获取了Excel的内容,接下来,就是写入数据表,存储啦
    
    }

结果打印

在这里插入图片描述

ERRO : Could not open XXX.xls for reading! File does not exist,

解决方法建议:

建议可能的几个出错原因:
1.文件路径 检查xls文件的路径是否正确:file_exists(“path/to/file.xls”);
2.如果你是在本地测试的话,看是否该xls文件被其他软件打开或占用。
3.建议打开本地服务器的xls文件而不是远程服务器上的xls文件。/user/public/docs/filex.xls 而不是http://otherhost.com/path/file.xls
希望对你有帮助。

猜你喜欢

转载自blog.csdn.net/thinkeydeng/article/details/82854635