1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > TP5+PHPexcel导入xls xlsx文件读取数据

TP5+PHPexcel导入xls xlsx文件读取数据

时间:2020-11-12 20:58:28

相关推荐

TP5+PHPexcel导入xls xlsx文件读取数据

首先:在extend里面引入PHPexcel文件,直接根目录导入进去

html创建上传按钮

<form method="post" action=""> <div > <label>上传excel</label> <div> <div> <button type="button" name="myfile"><i></i>上传文件</button> </div> </div> </div> <div> <div > <button lay-submit lay-filter="formsub">立即提交</button> <button type="reset">重置</button> </div> </div> </form><script type="text/javascript"> layui.use(["form","upload"],function(){ var form=layui.form; var upload=layui.upload; upload.render({ //允许上传的文件后缀 elem: "#myfile" ,url: "{:url("sale/do_upload")}" ,accept: "file" //普通文件 ,exts: "xls|excel|xlsx" //只允许上传压缩文件 ,done: function(res){ if(res.code==1){ layer.msg("上传成功,已解析数据",{icon:6}); }else{ layer.msg("解析失败",{icon:5}); } } }); form.on("submit(formsub)",function(data){ layer.msg("导入数据具体详情未协商确认,待确认后处理"); return false; }) })</script>

在上传后的sale/do_upload中去进行解析上传的excel

public function do_upload(){ //引入文件 \think\Loader::import("PHPExcel.PHPExcel"); $objPHPExcel = new \PHPExcel(); //获取表单上传文件 $file = request()->file("file"); $info = $file->validate(["ext" => "xlsx,xls"])->move(ROOT_PATH . "public" . DS . "uploads"); //数据为空返回错误 if(empty($info)){ $output["status"] = false; $output["info"] = "导入数据失败~"; $this->ajaxReturn($output); } //获取文件名 $exclePath = $info->getSaveName(); //上传文件的地址 $filename = ROOT_PATH . "public" . DS . "uploads".DS . $exclePath; $extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) ); \think\Loader::import("PHPExcel.IOFactory.PHPExcel_IOFactory"); if ($extension =="xlsx") { $objReader = new \PHPExcel_Reader_Excel(); $objExcel = $objReader ->load($filename); } else if ($extension =="xls") { $objReader = new \PHPExcel_Reader_Excel5(); $objExcel = $objReader->load($filename); } $excel_array=$objExcel->getsheet(0)->toArray(); //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); array_shift($excel_array); //删除th $data=[]; foreach ($excel_array as $k=>$v){ $data[$k]["danhao"]=$v[0];//单号 $data[$k]["type_name"]=$v[1];//类型名称 $data[$k]["name"]=$v[2]; $data[$k]["number"]=$v[3]; $data[$k]["price"]=$v[4]; $data[$k]["danwei"]=$v[0]; $data[$k]["create_user"]=$v[5]; $data[$k]["create_time"]=$v[6]; $data[$k]["remark"]=$v[7]; } $msg=[ "code"=>1, "msg"=>"已获取信息", ]; $msg["data"]["src"]=$filename; $msg["data"]["data"]=$data; return json_encode($msg); }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。