您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關composer安裝PHPExcel的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
1.composer安裝PHPExcel
下載安裝composer
其次 cmd切換到項目根目錄 運行命令:
composer require phpoffice/phpexcel
注意:
1.運行可能會報錯OpenSSL之類的 去php.ini中開啟extension=php_openssl.dll擴展,去掉分號
2.還有可能出現 找不到匹配的包的錯誤,這是因為我本地用的phpstudy的nts版本,這個版本比較特殊同時支持apache和nginx,只是本地虛擬環境開發測試用的PHP版本,所以匹配不到,應該切換正常版本在運行命令安裝
2.前端代碼
<div class="layui-form-item" > <label class="layui-form-label">導入專線</label> <div class="layui-input-inline"> <div class="layui-upload"> <button type="button" name="myfile" class="layui-btn" id="myfile"><i class="layui-icon"></i>上傳文件</button> </div> </div> </div>
<script type="text/javascript"> layui.use(['form','upload'],function(){ var form=layui.form; var upload=layui.upload; upload.render({ //允許上傳的文件后綴 elem: '#myfile' ,url: "{:url('Logisticscompany/inserline')}" ,accept: 'file' //普通文件 ,exts: 'xls|excel|xlsx' //只允許上傳壓縮文件 ,done: function(res){ if(res.code==1){ layer.msg('上傳成功,已解析數據',{icon:6}); location.href="{:url('Logisticscompany/lists')}"; }else{ layer.msg('解析失敗',{icon:5}); } } }); form.on('submit(formsub)',function(data){ layer.msg('導入數據具體詳情未協商確認,待確認后處理'); return false; }) }) </script>
3.controller
/** * excel導入網點 */ public function insert(){ if(request() -> isPost()) { vendor("PHPExcel.PHPExcel"); //方法一 $objPHPExcel =new \PHPExcel(); //獲取表單上傳文件 $file = request()->file('file'); $info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public'); //上傳驗證后綴名,以及上傳之后移動的地址 E:\wamp\www\bick\public if($info) { $exclePath = $info->getSaveName(); //獲取文件名 $file_name = ROOT_PATH . 'public' . DS . $exclePath;//上傳文件的地址 $file_types = explode ( ".", $_FILES ['file'] ['name'] ); $file_type = $file_types [count ( $file_types ) - 1]; if($file_type=='xls'){ $objReader =\PHPExcel_IOFactory::createReader("Excel5"); } else if($file_type=='xlsx'){ $objReader =\PHPExcel_IOFactory::createReader("Excel2007"); } $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加載文件內容,編碼utf-8 $excel_array=$obj_PHPExcel->getSheet(0)->toArray(); //轉換為數組格式 array_shift($excel_array); //刪除第一個數組(標題); $data = []; $i=0; foreach($excel_array as $k=>$v) { $data[$k]['viewName'] = $v[0]; $data[$k]['cityId'] = $v[1]; $data[$k]['stationAddress'] = $v[2]; $data[$k]['linkMan'] = $v[3]; $data[$k]['linkPhone'] = $v[4]; $data[$k]['longitude'] = $v[5]; $data[$k]['latitude'] = $v[6]; $data[$k]['userId'] = $v[7]; $data[$k]['remark'] = $v[8]; $i++; } $re= Db::name("htt_freightstation")->insertAll($data); if($re){ $msg=[ 'code'=>1, 'msg'=>'已獲取信息', ]; return json_encode($msg); } else{ $msg=[ 'code'=>0, 'msg'=>'獲取信息失敗', ]; return json_encode($msg); } }else { echo $file->getError(); } } return $this->fetch('lists'); }
關于composer安裝PHPExcel的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。