thinkphp5导入excel数据

<?php
namespace appindexcontroller;
use thinkController;

class Excel extends Controller{
    public function read(){
        vendor("PHPExcel");


        $excel = 'zworld.xlsx';
    	//$excelFile = ROOT_PATH.'/public/static/'.$excel;
        $excelFile = ROOT_PATH . 'public' . DS . 'static' . DS . $excel;
    	$filename=iconv('utf-8','gbk',$excelFile);

        $fileExt = substr(strrchr($excelFile, '.'),1);
        if( ($fileExt != 'xlsx') && ($fileExt != 'xls')  ){
            exit("请导入excel格式的文件");
        }



        //引入PHPExcel
        //header("content-type:text/html; charset=utf-8");
        vendor("PHPExcel.PHPExcel",EXTEND_PATH);

        	hinkLoader::import('PHPExcel.PHPExcel');

        require THINK_PATH.'Library/org/ExcelToArrary.class.php';
        //获取文件名


        $ExcelToArrary=new ExcelToArrary();//实例化

        $res=$ExcelToArrary->read($excelFile,"UTF-8",$fileExt);

        foreach ($res as $k => $v) {
            if ($k > 1) {
                $data[$k]['First Name'] = $v[1];
                $data[$k]['Last Name'] = $v[2];
                $data[$k]['email'] = $v[3];
                $data[$k]['country_region'] = $v[5];//国家、地区
//                    $data ['password'] = sha1('111111');
            }

        }
        print_r($data);








        
    }


}
ExcelToArrary.class.php
路径:
thinkphp/library/org/ExcelToArrary.class.php
<?php
/** 
 * 读取Excel数据
 */
class ExcelToArrary {
    public function __construct() {
        //这些文件需要下载phpexcel,然后放在vendor文件里面。具体参考上一篇数据导出。
        vendor("PHPExcel.PHPExcel.PHPExcel");
        vendor("PHPExcel.PHPExcel.Writer.Excel5");
        vendor("PHPExcel.PHPExcel.Writer.Excel2007");
        vendor("PHPExcel.PHPExcel.IOFactory");
    }
    public function read($filename,$encode,$file_type){
            if(strtolower ( $file_type )=='xls')//判断excel表类型为2003还是2007
            {
                Vendor("Excel.PHPExcel.Reader.Excel5"); 
                $objReader = PHPExcel_IOFactory::createReader('Excel5');
                $objReader = PHPExcel_IOFactory::createReader('Excel5');

            }elseif(strtolower ( $file_type )=='xlsx')
            {
                Vendor("Excel.PHPExcel.Reader.Excel2007"); 
                $objReader = PHPExcel_IOFactory::createReader('Excel2007');
            }
            $objReader->setReadDataOnly(true);
            $objPHPExcel = $objReader->load($filename);
            $objWorksheet = $objPHPExcel->getActiveSheet();
            $highestRow = $objWorksheet->getHighestRow();
            $highestColumn = $objWorksheet->getHighestColumn();
            $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
            $excelData = array();
            for ($row = 1; $row <= $highestRow; $row++) {
                for ($col = 0; $col < $highestColumnIndex; $col++) {
                    $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
                    }
            }
            return $excelData;
    }
}
原文地址:https://www.cnblogs.com/pangchunyu/p/14831282.html