PHP利用phpexcel导入Excel表到Mysql数据库

最近在搞PHP项目,后台很多课题信息需要导入数据库,考虑过一条条导入,但是这样太费时费力。
所以找了下phpexcel的资料,打算利用这个工具把excel表导入数据库,但是发现很多教程都太久远,拿来主义用不了,所以就自己着手搞了一下,对有数据导入需求的可能有帮助。
废话不多,直接上核心代码:

<?php
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';
require_once 'PHPExcel/Reader/Excel5.php';
//以上三步加载phpExcel的类
$objReader = PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
$filename="1.xls";//指定excel文件从上传中取出
$objPHPExcel = $objReader->load($filename); //$filename可以是上传的文件,或者是指定的文件
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$k = 0;
//循环读取excel文件,读取一条,插入一条
//j表示从哪一行开始读取
//$a表示列号
$conn = mysqli_connect($servername, $username, $password, $dbname); //连接数据库,自己修改即可
mysqli_set_charset($coon, "utf8"); //设置字符utf-8
for($j=2;$j&lt;=$highestRow;$j++) //j=2是因为第一行表为提示,从第二行开始取 {
$a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//获取A列的值
$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//获取B列的值
$c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//获取C列的值
$sql = "INSERT INTO kt (ktname,ktform,ktteacher)
VALUES ('$a','$b','$c')"
; //插入数据库
$result = mysqli_query($conn, $sql);
if($result){
$sta="ok";
}
else{
$sta="on";
}
}
if($sta=="ok"){
echo '<script>alert("数据导入成功!");window.location.href="xk_change.php";</script>';
}}
$filename = $pwd;
fopen($filename,'a+');
unlink($filename);
?>

核心代码就上面这点,最重要的就是导入phpexcel库,然后轮询导入的数据,再存入数据库。
我把所有文件打了个包,放在了coding,不懂的小伙伴下载改改就能用了:
cikeblog.com/s/phpexcel.rar
全部代码里面包含了上传-存盘-写入数据库-删除上传的文件,有需要的自行修改即可。

» 本文链接:PHP利用phpexcel导入Excel表到Mysql数据库
» 转载请注明来源:刺客博客
» 如果文章失效或者安装失败,请留言进行反馈。
评论 ( 1)
  1. avatar
    沙发
    Tony 2022-11-14 14:41

    只能插入最多9列。第十列就无效了。页面就是500.
    而且,少于9列执行后,也没有任何提示,只是白窗,不过插入成功。