网站建设的优势何江,八佰yy影视,免费商城app,万彩动画大师hello#xff0c;大家好#xff0c;好长时间没有更新文章了。最近一直在忙着做项目。所以断更了。 那么好#xff0c;各位老铁是否想要实现导入导出的功能 请关注我#xff0c;解密如何实现导入导出#xff0c; 那么今天先来讲一下用thinkphp5.0 如何实现Excel表格导入数据…hello大家好好长时间没有更新文章了。最近一直在忙着做项目。所以断更了。 那么好各位老铁是否想要实现导入导出的功能 请关注我解密如何实现导入导出 那么今天先来讲一下用thinkphp5.0 如何实现Excel表格导入数据到数据库 1.前提准备 正常的流程是前端客户端上传excel文件到服务器上然后通过代码解析解码然后存入到数据库里。 这里我们用到一个依赖叫phpExcle依赖。github下载地址https://github.com/PHPOffice/PHPExcel 下载之后我们讲Classes目录解压出来放到我们tp5框架里面的vendor目录下并改名为PHPExcel 2.使用PHPExcel 在你使用的这个方法下或者是你可以封装一下放到model里
/*** 获取excel文件后缀名*/public function get_excel_name($filename){$arr explode(.,$filename);return array_pop($arr);}/** excel导入数据*/public function import_excel_data(){vendor(PHPExcel.PHPExcel);$objPHPExcel new \PHPExcel();$file $this-request-file(file);$info $file-validate([ext xlsx,xls])-move(ROOT_PATH . public/uploads/excel); //上传验证后缀名,以及上传之后移动的地址if($info){$exclePath $info-getSaveName(); //获取文件名$file_name ROOT_PATH . public/uploads/excel/ . DS . $exclePath;//上传文件的地址$name $this-get_excel_name($file_name);if($name xlsx ){$objReader \PHPExcel_IOFactory::createReader(Excel2007);}else {$objReader \PHPExcel_IOFactory::createReader(Excel5);}$obj_PHPExcel $objReader-load($file_name, $encode utf-8); //加载文件内容,编码utf-8$excel_array$obj_PHPExcel-getSheet(0)-toArray(); //转换为数组格式array_shift($excel_array); //删除第一个数组(标题);$city [];$i0;foreach($excel_array as $k$v) {$city[$k][keyword] isset($v[0])?$v[0]:无;$i;}$countdb(auto_keyword)-insertAll($city);$data [count$count];$this-success(ok,$data);}else{$this-error($file-getError());}}在这里我们需要改几个文件 PHPExcel/PHPExcel/Shared/String.php下面的“utf16_decode”方法把{0}、{1}改成[0]、[1] PHPExcel/PHPExcel/ReferenceHelper.php下面的“updateSingleCellReference”方法把{0}、{1}改成[0]、[1] PHPExcel/PHPExcel/Cell.php下面的“columnIndexFromString”方法把{0}、{1}改成[0]、[1] 3.本地请求结果如下 4.数据库和excel文件数据对比一下 这两张表对比一下然后再看上面的代码就更好操作了。这里的数据库的主键是自动递增的。其他的数据一一对应就OK了。 1.这是excel表里的数据 2.这是数据库里的数据
好了。导入就讲到这里了。有用的小伙伴记得收藏关注我。这段代码亲测有效哦