数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按钮调用接口:

我的模板内的数据如下图:

后端接口代码如下:

    public function uplExcel(Request $request){if (!empty($_FILES['excel']['name'])) {$fileName = $_FILES['excel']['name'];    //得到文件全名$dotArray = explode('.', $fileName);    //把文件名安.区分,拆分成数组$type = end($dotArray);if ($type != "xls" && $type != "xlsx") {$ret['res'] = "0";$ret['msg'] = "不是Excel文件,请重新上传!";return json_encode($ret);}//取数组最后一个元素,得到文件类型$uploaddir = "../uploads2/" . date("Y-m-d") . '/';//设置文件保存目录 注意包含if (!file_exists($uploaddir)) {mkdir($uploaddir, 0777, true);}$path = $uploaddir . md5(uniqid(rand())) . '.' . $type; //产生随机文件名//$path = "images/".$fileName; //客户端上传的文件名;//下面必须是tmp_name 因为是从临时文件夹中移动move_uploaded_file($_FILES['excel']['tmp_name'], $path); //从服务器临时文件拷贝到相应的文件夹下$file_path = $path;if (!file_exists($path)) {$ret['res'] = "0";$ret['msg'] = "上传文件丢失!" . $_FILES['excel']['error'];return json_encode($ret);}//文件的扩展名$ext = strtolower(pathinfo($path, PATHINFO_EXTENSION));if ($ext == 'xlsx') {$objReader = \PHPExcel_IOFactory::createReader('Excel2007');$objPHPExcel = $objReader->load($file_path, 'utf-8');} elseif ($ext == 'xls') {$objReader = \PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel = $objReader->load($file_path, 'utf-8');}$sheet = $objPHPExcel->getSheet(0);$highestRow = $sheet->getHighestRow(); // 取得总行数$highestColumn = $sheet->getHighestColumn(); // 取得总列数$ar = array();$i = 0;$importRows = 0;for ($j = 2; $j <= $highestRow; $j++) {$importRows++;$realName = (string)$objPHPExcel->getActiveSheet()->getCell("A$j")->getValue();//需要导入的realName$phone = (string)$objPHPExcel->getActiveSheet()->getCell("B$j")->getValue();   //需要导入的phone$company = (string)$objPHPExcel->getActiveSheet()->getCell("C$j")->getValue(); //需要导入的company$job = (string)$objPHPExcel->getActiveSheet()->getCell("D$j")->getValue();     //需要导入的job$email = (string)$objPHPExcel->getActiveSheet()->getCell("E$j")->getValue();   //需要导入的email$ret['mdata'] = $this->addMemb($phone, $realName, $company, $job, $email);//这里就是我的数据库添加操作定义的一个方法啦,对应替换为自己的if ($ret['mdata'] && !is_Bool($ret['mdata'])) {$ar[$i] = $ret['mdata'];$i++;}}if ($i > 0) {$ret['res'] = "0";$ret['errNum'] = $i;$ret['allNum'] = $importRows;$ret['sucNum'] = $importRows - $i;$ret['mdata'] = $ar;$ret['msg'] = "导入完毕!";return json_encode($ret);}$ret['res'] = "1";$ret['allNum'] = $importRows;$ret['errNum'] = 0;$ret['sucNum'] = $importRows;$ret['mdata'] = "导入成功!";return json_encode($ret);} else {$ret['res'] = "0";$ret['msg'] = "上传文件失败!";return json_encode($ret);}}

  

转载于:https://www.cnblogs.com/52lnamp/p/9237704.html

PHP Excel导入数据到MySQL数据库相关推荐

  1. exls导入数据库 php_PHP Excel导入数据到MySQL数据库

    数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载 phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入 ...

  2. php上传查询excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例

    PHP上传Excel文件导入数据到MySQL数据库示例2020-06-20 00:34:11 最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里 ...

  3. php 上传excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例

    最近在做Excel文件导入数据到数据库.网站如果想支持批量插入数据,可以制作一个上传Excel文件,导入里面的数据内容到MySQL数据库的小程序. 要用到的工具: ThinkPHP:轻量级国产PHP开 ...

  4. 从csv文件中导入数据到MySQL数据库

    从csv文件中导入数据到MySQL数据库 转: 一.Workbench客户端导入(8.0.11基本导不全且速度奇慢) 1.点击如下图标创建数据库(非必要) 2.在表类上右键导入 二.SQL语句导入(可 ...

  5. ci phpexcel mysql_PHPExcel导入数据到mysql数据库

    用了PHPexcel插件,将excel的数据导入到msyql数据库里面,之前一直有乱码,这是我亲测的,没有乱码哦! 页面编码:gb2312 mysql编码:gb2312<?php include ...

  6. Linux下通过txt文件导入数据到MySQL数据库

    1.修改配置文件 在 /etc/my.conf 中添加 local_infile=1 2.重启MySQL >service mysqld restart 3.登录数据库 登录时添加参数 --lo ...

  7. python读取excel文件数据写入MySQL数据库(入门级)

    写入前准备 1.window电脑提前安装好MySQL 2.知道自己MySQL的密码和用户名 3.提前建好要写入的数据库和数据表 1.首先测试写入一条数据进去MySQL在尝试批量写入 1.1第一数据类型 ...

  8. 导入向导批量导入数据至mysql数据库

    今天在开发公司里的五级地址查询功能时,拿到地址五级分类表.包含了浙江省所有地区共计33509条数据.这些数据都需要存储在本地数据库中,如果一条一条录入直接现场去世.所以记录一下我今天使用Navicat ...

  9. 从excel导入数据至PostgreSQL数据库

    很多时候我们需要将excel中的数据导入到数据库的表中,我们以PostgreSQL数据库为例,步骤如下: 1.将excel文件转换为csv格式,方法如下: 文件-->另存为-->其他格式, ...

最新文章

  1. R语言ggplot2可视化分组的重叠图实战:grouped overlay plot
  2. Ruby中的require_relative和require有什么区别?
  3. linq.designer.cs学习笔记
  4. python 安装模块步骤
  5. spring框架注解多?注解到底是个什么东西?这篇文章给你讲明白
  6. Vue中watch的简单应用
  7. [转]“Ceph浅析”系列之(—)—Ceph概况
  8. LYNC解决方案巡展
  9. scp拷贝文件夹到另一个服务器目录中
  10. Python __subclasses__() 函数获取类的所有子类
  11. javascript java map_javascript实现java的map对象,js实现new map()
  12. “隐私经济”有未来吗?
  13. 牛逼!用文言文来编程,97 年 CMU 本科生火遍全网!
  14. 2022年全球与中国低压配电系统市场现状及未来发展趋势
  15. NSLocale中常用的语言代码对照表
  16. 异数OS 织梦师-云(五)-- 容器服务化,绿色拯救未来。
  17. 【WPS】您选定的文件类型不支持包含多份工作表的工作簿。
  18. 我所认知的世界,不是Fragmention,而是Think
  19. Au 效果器详解:自适应降噪
  20. 趣图:没想到 CSS 深灰色是这样的

热门文章

  1. 1024. 科学计数法 (20)-PAT乙级真题
  2. python 连接 oracle 循环,4.使用cx_Oracle连接Oracle(高级篇)
  3. 2的指数算法唯一算包含信息
  4. java 获取mongodb的连接数
  5. mysql取整,小数点处理函数floor(), round()
  6. React UI 库 React Suite 3.7.9 版本更新
  7. Windows Server 部署WEB API时内部错误
  8. echarts3.0 本期累计堆叠
  9. 2016年物联网行业十大并购事件
  10. 网络请求(HTTP协议)小结