TP框架实现Excel批量导入数据库数据 MySQL中的列转行 这次是真拯救了我,MySQL索引优化,explain讲得非常清楚了 Oracle快速入门(PLSQL编程) MySQL字符串拼接、截取 MySQL事务管理及存储引擎 《浪姐》万茜点赞宁静、郁可唯黑贴坐实?盗号者和程序员是背锅侠 程序员被公司辞退12天后,前领导要求回公司讲清代码,结果懵了 易语言大漠多线程foobar在游戏多窗口中时时显示输出信息 非科班,自学两年,复盘两个月,侥幸拿到头条、阿里offer 2020年全国数学建模大赛B题源代码以及模型的建立 (2) 2020年数学建模-校园供水系统智能管理 windows破解锁屏密码(亲测有效:再也不怕别人锁屏防你啦!) 清华大佬力荐的JVM学习路线+实战笔记+阿里真题,嚼碎吃透吊打面试官 打造多模块+高可用+高扩展Spring Cloud版分布式电商项目源码分享 Python爬虫入门教程 89-100 定个小目标,先用Python爬个一亿B站用户 五大分布式事务,你了解多少? 2020-09-12 九大核心专题,630页内容,熬夜23天吃透,我收割了3个大厂offer 防抖节流 防抖和节流 函数节流 debounce throttle 每天补充一点 一些零碎的小知识点 JavaScript作用域和作用域链知多少 01-jquery概述 简单概述JSONP原理 02-$符号-jquery与js相互转换 遇见 vue.js --------阿文的vue.js学习笔记(2)----- 基本使用 全国鞋服行业首个5G专项应用落地柒牌 自动搬运作业提升效率150% 大数据系统提高生产效率超10% [网络安全自学篇] 九十四.《Windows黑客编程技术详解》之提权技术(令牌权限提升和Bypass UAC) 鸿蒙OS 2.0 开源蹭热浅读 蚂蚁三面滑铁卢!遭分布式截胡,靠这些笔记潜修30天,挺进京东 【高并发】Redis如何助力高并发秒杀系统,看完这篇我彻底懂了!! K8s概述:几种集群方案的对比 Linux到底该怎么学?RHCA架构师整理了300页学习笔记 到了2020年,技术水平到底需要达到怎样的程度才能成为顶级的阿里P8架构师 Linux怎么学?一张思维导图带你深入Linux核心原理 金九银十首战告捷!凭借这份Alibaba爆款“面试宝典”成功斩获美团Offer 大数据杀熟:我投之以元宝,它报之以砍刀! “物联网加持”下的社区长啥样儿? 潘云鹤院士:大数据智能是人工智能2.0的核心组成部分 防小孩和老人走失,定位精度达1厘米?上海社区为先进物联网产品提供落地场景 技术老兵十年专攻MySQL编写了763页核心总结,90MySQL问题全解 【Jenkins自动化部署】Windows节点Apache+Django服务自动化构建 Mybatis 使用通用 mapper 正道的光!阿里爆款Jenkins+K8s笔记终于全网开源了 不要死磕Java并发了,阿里P7架构师带你深入剖析synchronized的实现原理 EtherNet/IP协议基础知识(Part 1) CGB2005-京淘13 思科 OSPF协议简单配置与分析 在一家公司呆了 10 年的程序员,最后都怎么了? 致力物联网芯片研发,奕斯伟计算获逾20亿元融资
您的位置:首页 >数据库 >

TP框架实现Excel批量导入数据库数据

PHP Excel导入数据库数据

有个这样的需求,按数据库格式批量导入数据存入数据库 在TP框架有封装好的类 PHPExcel, 注意这是TP5.1框架的代码 我自己找了找资源写出来了,话不多说直接上代码

ini_set('memory_limit','1024M');if (!empty($_FILES)) {$file = request()->file('import');$info = $file->move(ROOT_PATH .'static'. DS . 'uploads' . DS . 'execl');if ($info) {//vendor("PHPExcel.PHPExcel");// Thinkphp5.1之后不支持 vendor$Worksheet = new \PHPExcel_Worksheet();$PHPExcel_Cell = new \PHPExcel_Cell(null,null,$Worksheet);$objPHPExcel = new PHPExcel();//excel对象$file_name = ROOT_PATH.'static/uploads/execl/'.$info->getSaveName();$extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));//判断导入表格后缀格式if ($extension == 'xlsx') {$objReader =\PHPExcel_IOFactory::createReader('Excel2007');$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');} else if ($extension == 'xls'){$objReader =\PHPExcel_IOFactory::createReader('Excel5');$objPHPExcel =$objReader->load($file_name, $encode = 'utf-8');}$sheet =$objPHPExcel->getSheet(0);$highestRow = $sheet->getHighestRow();//总行数$highestColumn =$sheet->getHighestColumn(); //总列数//Db::name('goods')->execute('truncate table s_goods');//清除表中数据//i是从低级行开始导入for ($i = 2; $i <= $highestRow; $i++) {//data['id']中id是数据库得字段名A是excel得列$data[$i]['brand_id'] = $objPHPExcel->getActiveSheet()->getCell("A" . $i)->getFormattedValue(); //商品品牌$data[$i]['category_id'] = $objPHPExcel->getActiveSheet()->getCell("B" . $i)->getFormattedValue(); //商品分类$data[$i]['goods_name'] = $objPHPExcel->getActiveSheet()->getCell("C" . $i)->getFormattedValue(); //商品名称// 一下依次按照你数据库里的字段来编写}// 启动事务Db::startTrans();// 在这里写你的入库逻辑代码//下面是我举得列子// 商品foreach($data as $k => $v) {$goods_data = ['brand_id'=> $v['brand_id'],'category_id' => $v['category_id'], 'goods_name'=> $v['goods_name'],];$query = Db::name('Goods')->insertGetId($goods_data); //执行添加if (isset($query) && $query <= 0) {// 回滚事务Db::rollback();}else{// 提交事务Db::commit();}}if($query){$this->success('导入成功!');}}else{echo $file->getError();}}else{$this->error("请选择上传的文件");}

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。