phpexcel导入数据库,PHP 用PHPExcel往数据库导入大量数据
本篇文章给大家谈谈phpexcel导入数据库,以及PHP 用PHPExcel往数据库导入大量数据对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
php中如何将execl的数据导入到数据库中
1.使用PHP
Excel
Parser
Pro软件,但是这个软件为收费软件;
2.可将EXCEL表保存为CSV格式,然后通过
phpmyadmin
或者SQLyog导入,SQLyog导入的方法为:
·将EXCEL表另存为CSV形式;
·打开SQLyog,对要导入的表格
右击
,点击“导入”-“导入使用加载本地CSV数据”;
·在弹出的对话框中,点击“改变..”,把选择“填写excel友好值”,点击确定;
·在“从文件导入”中选择要导入的CSV文件路径,点击“导入”即可导入数据到表上;
3.一个比较笨的手工方法,就是先利用excel生成
sql语句
,然后再到mysql中运行,这种方法适用于
excel表格
导入到各类
sql数据库
:
·假设你的表格有A、B、C三
列数据
,希望导入到你的数据库中表格tablename,对应的字段分别是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:
1)增加一列(假设是D列)
2)在第一行的D列,就是D1中输入公式:
=CONCATENATE("insert
into
tablename
(col1,col2,col3)
values
(",A1,",",B1,",",C1,");")
3)此时D1已经生成了如下的sql语句:
insert
into
table
(col1,col2,col3)
values
('a','11','33');
4)将D1的公式复制到所有行的D列(就是用鼠标点住D1单元格的右下角一直拖拽下去啦)
5)此时D列已经生成了所有的sql语句
6)把D列复制到一个纯文本文件中,假设为sql.txt
·把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。
如何通过PHP将excel的数据导入MySQL中
在开发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=newSpreadsheet_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=“INSERTINTOuser(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=”上传失败”;
}
如何将Excel的数据导入到MySql数据库中
1.使用PHP
Excel Parser Pro软件,但是这个软件为收费软件;
2.可将EXCEL表保存为CSV格式,然后通过phpmyadmin或者SQLyog导入,SQLyog导入的方法为:
·将EXCEL表另存为CSV形式;
·打开SQLyog,对要导入的表格右击,点击“导入”-“导入使用加载本地CSV数据”;
·在弹出的对话框中,点击“改变..”,把选择“填写excel友好值”,点击确定;
·在“从文件导入”中选择要导入的CSV文件路径,点击“导入”即可导入数据到表上;
3.一个比较笨的手工方法,就是先利用excel生成sql语句,然后再到mysql中运行,这种方法适用于excel表格导入到各类sql数据库:
·假设你的表格有A、B、C三列数据,希望导入到你的数据库中表格tablename,对应的字段分别是col1、col2、col3
·在你的表格中增加一列,利用excel的公式自动生成sql语句,具体方法如下:
1)增加一列(假设是D列)
2)在第一行的D列,就是D1中输入公式:
=CONCATENATE("insert into tablename(col1,col2,col3) values(",A1,",",B1,",",C1,");")
3)此时D1已经生成了如下的sql语句:
insert into table(col1,col2,col3) values('a','11','33');
4)将D1的公式复制到所有行的D列(就是用鼠标点住D1单元格的右下角一直拖拽下去啦)
5)此时D列已经生成了所有的sql语句
6)把D列复制到一个纯文本文件中,假设为sql.txt
·把sql.txt放到数据库中运行即可,你可以用命令行导入,也可以用phpadmin运行。
PHP 用PHPExcel往数据库导入大量数据
1、将数据先放进文本文档(如果是几列,请按格式弄好,并用逗号隔开,这里得符号可以换成其他)。
2、编写.ctl文档,如图。
3、将两个文件放到根目录下。
4、打开windows命令,执行sqlldr userid=用户名/密码@数据库 control=test2017.ctl。
5、执行结果会在执行窗口以及根目录的日志表,如果有报错,会写入.bad文件。
6、导入成功数据展示。
关于phpexcel导入数据库的内容到此结束,希望对大家有所帮助。