PHPExcel导入数据到MySQL数据库的方法

PHPExcel导入数据到MySQL数据库的方法

内容导读

收集整理的这篇技术教程文章主要介绍了PHPExcel导入数据到MySQL数据库的方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3189字,纯文字阅读大概需要5分钟

内容图文

这篇文章主要介绍了关于PHP Excel导入数据到MySQL数据库的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

相关mysql视频教程推荐:《mysql教程》

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



}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

PHP让数组中有相同值的组成新的数组实例讲解

PHP中类静态调用和范围解析操作符之间的区别

以上就是PHP Excel导入数据到MySQL数据库的方法的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHPExcel导入数据到MySQL数据库的方法全部内容,希望文章能够帮你解决PHPExcel导入数据到MySQL数据库的方法所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com