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 条评论
登录 后参与评论

相关文章

来自专栏Java架构师历程

mysql 谈谈innodb存储引擎

5.7版本引入了模式自动转换的功能,但该语法依然保留了。 另外一个有趣的点是,在5.7版本中,你可以通过设置session_track_transactio...

4182
来自专栏芋道源码1024

数据库中间件 Sharding-JDBC 源码分析 —— 事务(一)之BED

本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. 最大努力送达型 3. 柔性事务管理器 3.3.1 创建柔性事务 3.1 概念 3...

6095
来自专栏解Bug之路

MySQL多版本并发控制机制(MVCC)-源码浅析 顶

作为一个数据库爱好者,自己动手写过简单的SQL解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲挈领,不能让你玩转...

1862
来自专栏JavaEdge

Elastic Stack从入门到实践

46510
来自专栏程序小工

windows7使用Sphinx+PHP+MySQL详细介绍

由于业务需要,需要做类似淘宝商城商品检索的功能,对于数据量很大的情况,MySQL 查询的效率损耗很大,需要使用专门的索引引擎进行搜索查询,实现功能,对于和 PH...

4901
来自专栏漏斗社区

工具| 诸神之眼nmap定制化之NSE进阶

上一期斗哥跟大家介绍了Nmap中NSE脚本和常见的NSE的API,本期将为大家介绍Nmap的库文件以及如何利用Nmap的自身库将nmap的扫描结果保存在数据中。...

3517
来自专栏性能与架构

分库后如何处理分页?

在数据量过大以后,通常都会进行分库操作,把一张表拆分到不同数据库中 例如 tb1 表被拆分到3个库中,分库1、分库2、分库3 现在想执行分页操作 SELECT ...

3278
来自专栏杨建荣的学习笔记

关于pl/sql的代码保护(r3笔记28天)

在开始学习数据库的时候,总是尝试手动创建数据库,安装完成之后需要运行一些脚本,总是看到屏幕上闪个不停,可以看到大多数的存储过程代码都是一堆乱码,最开始还以为是乱...

3107
来自专栏灯塔大数据

Python-解决Cx_Oracle查询时UnicodeDecodeError的问题

近期在项目中,要对1张100多万条记录的表进行查询,然后进行一些数据的统计,但是在这个过程中,发现只查询出来几条数据就出现了UnicodeDecodeErro...

3306
来自专栏我是攻城师

Solr中如何使用游标进行深度分页查询

3866

扫码关注云+社区

领取腾讯云代金券