首页 编程设计PHP正文

如何通过PHP将excel的数据导入MySQL中

云水 PHP 2020-05-19 16:53:36 1533 0 PHPmysql

在开发PHP程序时,很多时候我们会有将数据批量导入数据库的需求,如学生信息批量添加到数据库中,而事先用excel编排好,对excel实行操作,便是我们比较常用的选择方式。

在对excel的操作中,phpExcelReade便是很多人的共同选择。在具体实现中,我们可以以文件上传方式将excel文件上传到服务器中的某个位置,通过以下操作将excel中的数据导入到数据库后,在将上传的文件删除即可。

$dir=dirname(__FILE__);                       //获取当前脚本的绝对路径
$dir=str_replace(“//”,”/”,$dir).”/”;

$filename=’uploadFile.xls'; //可以定义一个上传后的文件名称
$result=move_uploaded_file($_FILES[‘upload’][‘tmp_name’],$dir.$filename);//假如上传到当前目录下
if($result)  //如果上传文件成功,就执行导入excel操作
{
require_once ‘phpExcelReader/Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding(‘utf-8′);//设置在页面中输出的编码方式,而不是utf8

//该方法会自动判断上传的文件格式,不符合要求会显示错误提示信息(错误提示信息在该方法内部)。
$data->read(“$filename”);  //读取上传到当前目录下名叫$filename的文件

error_reporting(E_ALL ^ E_NOTICE);
//如果excel表带标题,则从$i=2开始,去掉excel表中的标题部分(要将$i<=改为$i<否则会插入一条多余的空数据)
for ($i = 2; $i < $data->sheets[0][‘numRows’]; $i++)
{
$sql = “INSERT INTO user (stuid,class,name,sex,classNum,tel,addr,remark) VALUES(‘”.
$data->sheets[0][‘cells’][$i][1].”‘,'”.    //学号
$data->sheets[0][‘cells’][$i][2].”‘,'”.    //班级
$data->sheets[0][‘cells’][$i][3].”‘,'”.    //姓名
$data->sheets[0][‘cells’][$i][4].”‘,'”.    //性别
$data->sheets[0][‘cells’][$i][5].”‘,'”.    //班内序号
$data->sheets[0][‘cells’][$i][6].”‘,'”.    //联系电话
$data->sheets[0][‘cells’][$i][7].”‘,'”.    //联系地址
$data->sheets[0][‘cells’][$i][8].”‘)”;     //附注

$db->query($sql);
$insert_info.= ” $sql</br>/n”;          //可以用来显示数据插入的信息

}
$totalNums=$data->sheets[0][‘numRows’]-2;//求出导入的总数据条数(这里是减去2,才会得到去除标题后的总数据)
//echo “导入成功!”;
unlink(“$filename”);                             //删除上传的excel文件

}
else
{
$errmsg=”上传失败”;
}


版权声明

1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)

本文链接:http://apod.cc/index.php/post/398.html

发表评论

评论列表(0人评论 , 1533人围观)
☹还没有评论,来说两句吧...