专栏首页刺客博客PHP利用phpexcel导入Excel表到Mysql数据库

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,不懂的小伙伴下载改改就能用了: https://coding.net/u/cvc/p/phpexcel 全部代码里面包含了上传-存盘-写入数据库-删除上传的文件,有需要的自行修改即可。

» 本文链接:PHP利用phpexcel导入Excel表到Mysql数据库 » 转载请注明来源:刺客博客

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux终端前缀变成-bash-4.2#解决办法

    刺_猬
  • 谈谈云免原理

    刺_猬
  • 艾特文件管理器 1.8

    刺_猬
  • 微软超融合私有云测试19-SCOM2016部署前提条件

    在SCVMM部署完毕后,我们开始部署SCOM,SCOM是微软的私有云监控操作平台,可以监控的范围非常广,包括硬件类,如UPS、服务器存储硬件、温湿度仪器等;软件...

    SuperDream
  • 体验vs11 Beta

    第一步:下载VS11Beta 下载地址:http://www.microsoft.com/click/services/Redirect2.ashx?CR_...

    Porschev
  • 2019面试题:谈谈对JDBC的理解(最简洁!)

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API(Application Pro...

    葆宁
  • python 多层装饰器分析

    装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是1函数对象。它经常用于有切面需求的场景,比如:...

    py3study
  • 渠道之难,谁敢说看不见?

    所有的企业都在数字化转型,传统软件厂商在向云端转型,在软件行业扮演着重要角色的渠道商也需要转型,然而转型不易。如今渠道变得越来焦虑,急需求变,要让“渠道为王”再...

    人称T客
  • python遍历字符_在Python中一次遍历字符串单词

    逐字逐句地遍历文件内容(在我的例子中,是来自古腾堡项目的Oz向导),有三种不同的方式:from __future__ import with_statement

    用户7886150
  • 【POJ 2528】Mayor’s posters(线段树+离散化)

    给定每张海报的覆盖区间,按顺序覆盖后,最后有几张海报没有被其他海报完全覆盖。 离散化处理完区间端点,排序后再给相差大于1的相邻端点之间再加一个点,再排序。 线段...

    饶文津

扫码关注云+社区

领取腾讯云代金券