php读写excel至mysql_用phpexcelreader将excel文件读入到mysql中(转载)

最近要用phpexcelreader将excel文件读入到mysql中,搞了好几天,终于小有所成,拿出来与大家分享,若有不妥,还请高手多多指教。

首先创建一个库及表

/*******************************

create_db.php

**********************************/

$connect = mysql_connect("localhost","root","123456");

if (!$connect)

echo "连接数据库失败!!";

else {

$drop = mysql_query("drop database pp_enterp",$connect);

$create = mysql_query("create database pp_enterp",$connect);//创建数据库

if (!$create)

echo "创建数据库失败!!";

else {

mysql_select_db("pp_enterp");

//创建表

$query = "CREATE TABLE shd_pp_enterp ( ";

$query.="id int(5) auto_increment not null primary key ,";

$query.="number char(6) not null,";

$query.="zip_code char(12) not null,";

$query.="province char(6) ,";

$query.="city char(8) ,";

$query.="address char(100) ,";

$query.="enp_name char(100) , ";

$query.="contact char(6) , ";

$query.="phone_1 char(15) , ";

$query.="phone_2 char(15) , ";

$query.="phone_3 char(15) , ";

$query.="phone_4 char(15) , ";

$query.="lic_num char(15) ) default charset='gbk' ";

//echo $query."
";

$result = mysql_query($query,$connect);

if (!$result)

echo "创建表失败!!";

else {

echo null;

}

}

}

?>

然后,应用phpexcelreader将excel文件中的数据度入到mysql中,程序如下(参考了很多模板):

require_once'./create_db.php';

require_once './reader.php';

// ExcelFile($filename, $encoding);

$data = new Spreadsheet_Excel_Reader();

// Set output Encoding.

$data->setOutputEncoding('GBK');

//”data.xls”是指要导入到mysql中的excel文件

$data->read('example.xls');

@ $db = mysql_connect('localhost', 'root', '123456') or

die("Could not connect to database.");//连接数据库

mysql_query("set names 'GBK'");//输出中文

mysql_select_db('pp_enterp'); //选择数据库

error_reporting(E_ALL ^ E_NOTICE);

for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {

//以下注释的for循环打印excel表数据

/************************************************************

for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {

echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";

}

echo "\n";

***************************************************************/

//以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!

$sql = "INSERT INTO shd_pp_enterp (number,zip_code,province,city,address,enp_name,contact,phone_1,phone_2,phone_3,phone_4,lic_num) 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]."','".

$data->sheets[0]['cells'][$i][9]."','".

$data->sheets[0]['cells'][$i][10]."','".

$data->sheets[0]['cells'][$i][11]."','".

$data->sheets[0]['cells'][$i][12]."')";

echo $sql.'
';

$res = mysql_query($sql,$connect);

if (!$res)

echo ""."第".$i."行插入数据失败!!".""."
";

else {

echo ""."第".$i."行插入数据成功!!".""."
";

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值