使用phpexcel将excel表格的导入数据库

1–使用composer安装phpexcel包

composer require phpoffice/phpexcel -vvv

2-控制器

//导入数据

    public function insertExcel(){if(request() -> isPost()){vendor("PHPExcel.PHPExcel"); //方法一$objPHPExcel =new \PHPExcel();//获取表单上传文件$file = request()->file('excel');$info = $file->validate(['xls' => 'xlsx'])->move(ROOT_PATH . 'public');  //上传验证后缀名,以及上传之后移动的地址//获取layui文件上传的$file = request()->file("file");$info = $file->validate(['ext' => 'xls'])->move(ROOT_PATH . 'public');  //上传验证后缀名,以及上传之后移动的地址 if($info){//              echo $info->getFilename();$exclePath = $info->getSaveName();  //获取文件名$file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址$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);  //删除第一个数组(标题);$city = [];$i=0;foreach($excel_array as $k=>$v) {$city[$k]['id'] = $v[0];$city[$k]['phone'] = $v[1];$city[$k]['username'] = $v[2];$city[$k]['nickname'] = $v[3];$city[$k]['end_time'] = $v[4];$city[$k]['level'] = $v[5];$i++;}Db::name("users")->insertAll($city);}else{echo $file->getError();}}return $this->fetch("user-excel");}

3-表单提交

  <form action="{:url('admin/user/insertExcel')}" method="post" class="form form-horizontal" enctype="multipart/form-data"><div class="row cl"><label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>导入数据:</label><div class="formControls col-xs-8 col-sm-9"><input type="file" name="excel" /></div></div><div class="row cl"><div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3"><input class="btn btn-primary radius"  type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;"></div></div></form>
4-layui 文件上传<div id="useradd" style="display: none;padding: 5px;margin-top: 20px" ><form  class="layui-form" enctype="multipart/form-data"><div class="layui-row"><div class="layui-col-md6" style="margin: auto"><a  class="layui-btn layui-btn-normal"  target="_blank" href="/download/goods.xls"  ><i class="layui-icon layui-icon-download-circle"></i>下载文件</a></div><div class="layui-col-md6" style="margin: auto"><button  class="layui-btn layui-btn-danger" type="button"  id="contract_img_url1" ><i class="layui-icon"></i>上传文件</button></div></div></form>
</div>js 代码<script>layui.use('upload', function(){var upload = layui.upload;//执行实例var uploadInst = upload.render({elem: '#contract_img_url1' //绑定元素,accept:'file',exts:'xls',url: "{:url('admin/user/insertExcel')}",before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。layer.load(); //上传loading},done: function(res, index, upload){//上传完毕回调layer.closeAll('loading'); //关闭loadingif(res.code==1){return layer.msg('上传成功',{icon:1});}else {return layer.msg('上传失败');}},error: function(index, upload){//请求异常回调layer.closeAll('loading'); //关闭loading}});});
</script>

使用phpexcel导出excel表格

1-使用composer安装phpexcel包

composer require phpoffice/phpexcel -vvv

2-控制器里面的方法

 public function excel(){$users = Db::name("users")->select();     //数据库查询$path = dirname(__FILE__); //找到当前脚本所在路径vendor("PHPExcel.PHPExcel"); //方法一$PHPExcel = new \PHPExcel();$PHPSheet = $PHPExcel->getActiveSheet();$PHPSheet->setTitle("demo"); //给当前活动sheet设置名称$PHPSheet->setCellValue("A1", "ID")->setCellValue("B1", "手机")->setCellValue("C1", "用户名")->setCellValue("D1", "昵称")->setCellValue("E1", "结束时间")->setCellValue("F1", "等级");$i = 2;foreach($users as $data){$PHPSheet->setCellValue("A" . $i, $data['id'])->setCellValue("B" . $i, $data['phone'])->setCellValue("C" . $i, $data['username'])->setCellValue("D" . $i, $data['nickname'])->setCellValue("E" . $i, $data['end_time'])->setCellValue("F" . $i, $data['level']);$i++;}$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");header('Content-Disposition: attachment;filename="表单数据.xlsx"');header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');$PHPWriter->save("php://output"); //表示在$path路径下面生成demo.xlsx文件}

使用phpexcel将excel表格的导入导出相关推荐

  1. excel表格数据导入导出

    /** * 导出数据到excel表格 * Created by shenjianhua on 2018-12-28 */ package com.luer.comm.excel; import jav ...

  2. iview table数据直接导出_(excel表格数据导入导出)iView如何实现excel导入导出

    请问:ERP系统的数据怎么导出Excel和Excel的数据怎么导入ERP? 一般的方法是: 在你找那个数据页面会有数据输出选项--点击 然后到登陆ERP的第一个远程桌面,会有一个资料夹 (各公司的命名 ...

  3. PHP利用phpExcel实现Excel数据的导入导出

    phpExcel包的下载地址:http://download.csdn.net/detail/kesixin/9920920 首先先说一下,这段例程是使用在Thinkphp的开发框架上,要是使用在其他 ...

  4. tp5 使用phpexcel将excel表格的导入数据库

    1--使用composer安装phpexcel包 composer require phpoffice/phpexcel -vvv 2-控制器 //导入数据public function insert ...

  5. ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格

    下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Ex ...

  6. 使用PHPExcel实现Excel文件的导入和导出(模板导出)

    在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...

  7. 基于SpringBoot+EasyExcel+vue3实现excel表格的导入和导出

    目录 基于SpringBoot+EasyExcel+vue3实现excel表格的导入和导出 一.导入和导出 二.导出数据为excel实现过程 三.将excel中的数据导入到数据库中 基于SpringB ...

  8. java excel表格导入_Java实现Excel表格的导入和导出(一)

    多说两句:表格的导入导出,是比较常见的系统操作,一般涉及数据批量导入导出时会用到,以前遇到过的业务场景有批量添加会员信息,数据迁移等.实现工具,Apache的poi最为常见.实现简单,博客简单一记. ...

  9. 用ado把excel数据写入oracle,如何将excel表格数据导入到oracle数据库对应的表中?!oracle导出excel文件...

    如何把excel里的表导入到oracle里 使用第三方工具吧,toad之类的 一个excel表格中有多个sheet,如何将其导入oracle数据库 户和要用DBA 最简单得建用户: create us ...

最新文章

  1. 带你测试对比深度学习框架!TensorFlow,Keras,PyTorch...哪家强?(附数据集)
  2. 原生 Java 客户端进行消息通信
  3. 提升Web用户体验的71个设计要点
  4. Oracle分区表 (二)
  5. Markdown入门教程
  6. 我最喜欢的二十句名言
  7. JAVA集合(四、ConcurrentHashMap)
  8. 今晚开讲 | 打卡公开课、冲击排行榜,还有福利领取
  9. js+css3实现旋转效果
  10. java截取utf8字符串_java中常用的字符串的截取方法
  11. 计算机导论大一第四章,计算机导论-第四章.ppt
  12. 使用scipy来进行曲线拟合
  13. 显示虚拟按钮Menu键
  14. bios中基本开机设置
  15. Chrome浏览器占用CPU资源过高(Software Reporter Tool)
  16. 程序员都会的五大算法之三(贪心算法),恶补恶补恶补!!!
  17. 超好用,18 个 Jupyter Notebook 使用技巧助你快速腾飞
  18. 企业数据可视化实现2020用户留存分析
  19. java毕设答辩老师的问题_毕设答辩常见问题(1)
  20. PE文件格式详解(7)

热门文章

  1. 圣诞节高清Mac动态壁纸
  2. 500强企业财务报表的数字化战略解读
  3. 苹果主屏幕按钮怎么设置_番茄todo怎么设置桌面倒计时 苹果番茄todo设置桌面倒计时方法介绍...
  4. 海店湾:酒店成七夕新宠,浪漫之旅周边游说走就走!
  5. 快速应用RT-Thread IAP升级功能
  6. [CVPR 2017] Matrix Tri-Factorization with Manifold Regularization for Zero-shot Learning
  7. 885. 螺旋矩阵 III
  8. Python计算美国总统的身高并实现数据可视化
  9. Camera Binning Mode
  10. 【Java】1-100之间所有自然数的和(while和for方法)