最近要用phpexcelreader将excel文件读入到mysql中,搞了好几天,终于小有所成,拿出来与大家分享,若有不妥,还请高手多多指教。 首先创建一个库及表 <?php /******************************* 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."<br>"; $result = mysql_query($query,$connect); if (!$result) echo "创建表失败!!"; else { echo null; } }}?>然后,应用phpexcelreader将excel文件中的数据度入到mysql中,程序如下(参考了很多模板): <?php 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.'<br />'; $res = mysql_query($sql,$connect); if (!$res) echo "<font color= red >"."第".$i."行插入数据失败!!"."</font>"."<br>"; else { echo "<font color=blue>"."第".$i."行插入数据成功!!"."</font >"."<br/>"; }} ?> |