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'); }
以上就是TP5(layui)excel导入的具体内容,更多请存眷资源魔其它相干文章!
标签: php开发教程 php开发资料 php开发自学 layui TP5
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!