TP5+PHPexcel导入xls,xlsx文件读取数据
2018-03-13 00:00
417 查看
首先:在extend里面引入PHPexcel文件,直接根目录导入进去
![](https://static.oschina.net/uploads/space/2018/0313/143438_OynF_3360064.png)
html创建上传按钮
在上传后的sale/do_upload中去进行解析上传的excel
![](https://static.oschina.net/uploads/space/2018/0313/143438_OynF_3360064.png)
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); }
相关文章推荐
- Java 导入 xls,xlsx 文件数据
- php利用phpexcel插件实现数据的导入和导出(支持csv\xls\xlsx格式和超过26个字段列)
- PHP Excel 读取xls,xlsx文件并出入数据然后保存
- [导入]ASP.NET中上传并读取Excel文件数据
- C#仪器数据文件解析-Excel文件(xls、xlsx)
- java操作txt或xls文件批量导入数据
- JAVA 通过poi 读取 本地excel(.xls,.xlsx)文件,文件中 包含图片
- 存储过程将.txt.xls文件数据导入数据库表格
- 如何将dataSet中的数据导入到Excel文件(*.xls)整理
- php上传xls文件导入到mysql数据表
- Java数据导入功能之读取Excel文件实例
- java操作txt或xls文件批量导入数据
- Java实现不同excel格式(*.xls、*.xlsx)文件的读取
- SQL 数据的导入导出,对远程(MSsql,OracleAccess,)数据库的操作以及读取Excel,txt文件中的数据
- phpExcel读取xlsx文件
- MVC模式导入数据并打开.xls文件实现
- 使用PHPExcel读取写入Excel文件数据
- 关于 OLEDB 读取 XLS 关系型数据文件的指定 Worksheet 时末尾必须加 $ 的原因。
- 将.xls文件中数据导入到数据库相应的表中
- C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)