打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
TP5+PHPexcel导入xls,xlsx文件读取数据

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

html创建上传按钮

<form  class="layui-form" method="post" action="">                        <div class="layui-form-item" >                            <label class="layui-form-label">上传excel</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>                        <div class="layui-form-item" style="padding-left: 35%;">                            <div class="layui-input-inline"  >                                <button class="layui-btn" lay-submit lay-filter="formsub">立即提交</button>                                <button type="reset" class="layui-btn layui-btn-primary">重置</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_Excel2007();            $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);    }

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHPExcel 学习笔记
跨工作簿引用
node.js操作文件实现增、删、改、查
后端:Layui实现文件上传功能
65536是如何变为1048576的
1分钟学会多工作簿合并神技,不骗你!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服