php excel导入到mysql数据库_php把excel表格中的数据导入到mysql数据库

最近要用到excel的导入功能,我自己需要页面有文件的提交,然后转入后台进行处理,之后在前台页面显示结果就好了,上网找了一下,最终根据一位网友的分享,结合自己的实际情况写了如下文章:

显示页面index.php

/**

* 导入excel的显示层

* 2014/7/24        @author Lee

*/

?>

Filename:

后台处理:savetomysql.php <?php header('content-type:text/html;charset=utf-8'); /* * excel导入到mysql过程 * author lee * web http://www.diao48.com */ new saveToMysql(); class saveToMysql {     var $excPath ;    //excel表的路径         var $name;                //要上传的文件的名字     var $type;                //要上传的文件类型     var $size;                //要上传的文件大小     var $tmp_name;            //要上传的文件路径                      var $server_name ;            //数据库服务器     var $user ;                 //数据库用户名     var $password ;                //数据库密码     var $database ;                //选择的数据库名     var $table ;                //表名     var $conn ;                    //数据库连接对象          /*      * 导入类的构造函数      */     function __construct() {         $this->conn();         $this->tbname='member';                            //表名         $this->excPath = './excel/Book1.xls';            //excel文件地址                  $this->getFile();         if ($this->impExcel()) {             exit('ok');         }     }//end func construct          /*      * 从提交的表单中获取文件的信息,关键是获取文件的临时存放路径      */     function getFile(){         $resuArr = $this->upload();         foreach ($resuArr as $key=>$value){             $this->$key = $resuArr[$key];                 }//end foreach()             }//end func getFile          /*      * 读取excel文件内容,并导入到数据库中去      */     function impExcel(){         /* 连接excel表(用法与access数据库类似) */         $conn=new com("adodb.connection");         $connstr="Driver={Microsoft Excel Driver (*.xls)};DBQ=".realpath("$this->tmp_name");//$this->tmp_name为excel的路径                  //打开 book.xls 文件         $conn->open($connstr);         $sql="select * from [Sheet1$]";//Excel 表下面的选项卡         $rs=$conn->execute($sql);         /* 导入字段文件 */        $field_arr=array('id','name','pwd','pid','email');//数据库表中的字段名称         $field_str=implode(',',$field_arr);         /* 循环导入到MySQL数据库中 */                          while(!$rs->eof){             $value='';             foreach($field_arr as $v){                 $value .= "'".iconv('gb2312','utf-8',$rs->fields($v)->value)."',";             }             $sqls = "insert into ".$this->tbname."(".$field_str.") values(".trim($value,',').")";                        $this->query($sqls);        //把数据逐条插入数据库                                 $rs->movenext;//用在指针下移         }         echo "";              }//end func impExcel()          /*      * 文件上传功能,通过从表单接收的文件信息,从而把文件Copy并保存到服务器的缓存文件中。      * 注:      *         该方法现在只能允许单个文件的上传      */     function upload(){         if ($_FILES["file"]["error"] > 0){             echo "Error: " . $_FILES["file"]["error"] . "
";         }else{             return array(                 "name"=>$_FILES["file"]["name"],                 "type"=>$_FILES["file"]["type"],                 "size"=>$_FILES['file']['size'],                 "tmp_name"=>$_FILES['file']['tmp_name']             );         }//end if              }//end func upload          /*      * 连接数据库      */     function conn(){         $this->server_name = "localhost";         $this->user = "root";         $this->password = "000111";         $this->database = "yxlego";             $this->conn = mysql_connect($this->server_name, $this->user, $this->password ) or die("数据库连接出错!");         mysql_select_db($this->database);            //选择数据库     }//end func conn()          //执行函数     function query($sql){         $result = mysql_db_query($this->database, $sql, $this->conn);         return $result ;     }//end func query(); }//end class ?>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值