数据导出已经有了,怎么能没有数据导入呢,同样使用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);

}

}

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

  1. php 导出csv设置列宽度,php数据库导出excel表格数据-php从数据库导出csv格式的Excel表格是,字段本身就......

    PHP如何将查询出来的数据导出成excel表格(最好做... $objPHPExcel->getActiveSheet()->getDefaultColumnDimension(A)-&g ...

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

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

  3. oracle数据库html导出表格,html数据库导出excel表格数据-关于把数据库数据以表格形式导出...

    关于把数据库数据以表格形式导出 库中的数据导出到excel,以oracle为例: 最简单的方法---用工plsql dev 执行File =>newReport Window .在sql标签中写 ...

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

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

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

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

  6. php excel导入数据库显示乱码,php修改excel表格数据库数据格式-使用phpexcel导入excel表格数据到MYSQL,乱码怎么解决...

    PHP 用PHPExcel往数据库导入大量数据 估计0是null,所以不显示了,可以换个思路,让他显示为字符串 $number = 0; echo ''.$number 原生PHP代码实现excel导 ...

  7. VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入

    VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入 打开Visual Studio 2019,新建Integration Services项目 拖一个数据流任务到控制流中 切换 ...

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

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

  9. Excel向数据库插入数据和数据库向Excel导出数据

    为了熟悉java里工作簿的相关知识点,所以找了"Excel向数据库插入数据和数据库向Excel导出数据"的功能来实现. 注意事项:1,mysql数据库: 2,需要导入的jar包有 ...

最新文章

  1. qt linux 添加库文件路径,linux下qt使用第三方库的那些事
  2. C语言: const关键字与指针
  3. matlab 数字调制函数,matlab用于数字调制,几个函数的使用问题
  4. enum与int、String之间的转换
  5. (84)FPGA面试题-多bit跨时钟域
  6. 为什么要预留字段_PaperYY为什么会免费论文查重?
  7. Quartz.NET的使用(附源码)
  8. Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释...
  9. fakeroot: preload library `libfakeroot.so' not found, aborting.
  10. JavaScript编程风格 (share)
  11. 种子点生长算法下——三维种子点生长
  12. 2020-04-09
  13. GNU、GCC与G++的区别
  14. SEO优化外包 避坑指南
  15. Win10家庭版获得管理员权限的方法
  16. 干货分享!软考中高项案例分析10大管理领域理论背诵要点
  17. 日期计算器输入天数计算日期_计算日期范围内的活动
  18. 跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租......
  19. openwrt修改lan口地址失败_OpenWrt刷机后LAN口无法连通的问题
  20. 数字逻辑综合工具-DC-04 ——怎样增加时序约束(Timing Constraints)

热门文章

  1. 争做RTC领域标杆——与华为云副总裁薛浩聊聊我们的视频时代
  2. 腾讯云张贤国:北大将我从少年变成了技术研究者
  3. WebRTC基本介绍
  4. 《Go语言圣经》学习笔记 第九章 基于共享变量的并发
  5. Git submodule子模块
  6. 对象的克隆——原型模式
  7. Flume实操(一)【监控端口数据官方案例】
  8. 高并发负载均衡(三):LVS的DR模型试验搭建
  9. 【Python】APScheduler定时任务
  10. HTTP系列之:HTTP中的cookies