1. 程式人生 > >phpexcel讀取資料入庫

phpexcel讀取資料入庫

public function upexcel(){
        //上傳檔案
        $upload = new \Think\Upload();// 例項化上傳類
        $upload->maxSize   =     3145728 ;// 設定附件上傳大小
        $upload->exts      =     array('xls', 'xlsx');// 設定附件上傳型別
        $upload->rootPath  =     './Uploads/'; // 設定附件上傳根目錄
        $upload->savePath  =     ''; // 設定附件上傳(子)目錄
        $info   =   $upload->upload();
        if(!$info) {// 上傳錯誤提示錯誤資訊
            $this->error($upload->getError());
        }else{// 上傳成功
            $path = './Uploads/'.$info['exfile']['savepath'].$info['exfile']['savename'];
        }


        //讀取表單入庫資料
        vendor('phpExcel.PHPExcel.IOFactory'); //這裡要去下載phpExcel檔案到\ThinkPHP\Library\Vendor\phpExcel
        date_default_timezone_set('PRC');
        try {
            $inputFileType = \PHPExcel_IOFactory::identify($path);
            $objReader = \PHPExcel_IOFactory::createReader($inputFileType);
            $objPHPExcel = $objReader->load($path);
        } catch(Exception $e) {
            die(pathinfo($inputFileName,PATHINFO_BASENAME).$e->getMessage());
        }


        $sheet = $objPHPExcel->getSheet(0); // 讀取第一個工作表  
        $highestRow = $sheet->getHighestRow(); // 取得總行數  
        $highestColumn = $sheet->getHighestColumn(); // 取得總列數 
        // 獲取一行的資料
        for ($row = 1; $row <= $highestRow; $row++){
            $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
            p($rowData);
            echo "<br/>";
        }
    }