PHP把excel导入mysql数据库最常用的方法

Posted on 2011-03-25 09:16 PHP博客 阅读(1316) 评论(0)  编辑 收藏 引用 网摘 PHP把excel导入mysql数据库最常用的方法

PHP把excel(xls)文件导入mysql数据库最常用的方法就是先把xls文件导出为csv格式的文件,然后在解析csv格式的文件导入到 mysql数据库。方法比较冗余,而且分好几步进行,很不方便,今天介绍一种方法是直接把excel文件导入mysql数据库。首先我们下载PHP- ExcelReader这是一个开源的项目,主要是来解析excel的文件,下载地 址:http://sourceforge.net/projects/phpexcelreader,下载之后解压,主要用到excel文件夹里面的两 个文件reader.php和oleread.php(这个文件默认的是oleread.inc,直接改名即可)。在reader.php文件中找到以下 类似代码(第一行既是),改成正确的oleread.php路径即可:require_once 'oleread.php';然后新建一个php文件引入reader.php,代码如下:新建一个导入的表单文件(up.php): 代码如下:   
数据库连接文件(conn.php): 代码如下: 数据处理文件(insert.php) 代码如下:
setOutputEncoding('UTF-8'); $data->read($Import_TmpFile); $array
=array();     for ($i = 1; $i <= $data->sheets[0]['numRows'];
$i++) {     for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
     $array[$i][$j] = $data->sheets[0]['cells'][$i][$j];     }
}sava_data($array);} function sava_data($array){        $count =0;   
    $total =0;     foreach( $array as $tmp){             $Isql = "Select
id from alz_product  where id='".$tmp[1]."'";          $sql = "Insert
into alz_product
(id,lanstr,classid,topclassid,title,producttype,volt,capacity,productsize,weight,color,code,model,price,prices,bigpic,paths,filename)
value(";
        
$sql.="'".$tmp[1]."','".$tmp[2]."','".$tmp[3]."','".$tmp[4]."','".$tmp[5]."','".$tmp[6]."','".$tmp[7]."','".$tmp[8]."','".$tmp[9]."','".$tmp[10]."','".$tmp[11]."','".$tmp[12]."','".$tmp[13]."','".$tmp[14]."','".$tmp[15]."','".$tmp[16]."','".$tmp[17]."','".$tmp[18]."')";
echo
$sql."
";              if(! mysql_num_rows(mysql_query($Isql)
)){          if( mysql_query($sql) ){             $count++;          }
        }         $total++;     }     echo "";      }     function
TtoD($text){     $jd1900 = GregorianToJD(1, 1, 1900)-2;     $myJd =
$text+$jd1900;     $myDate = JDToGregorian($myJd);     $myDate =
explode('/',$myDate);     $myDateStr = str_pad($myDate[2],4,'0',
STR_PAD_LEFT)."-".str_pad($myDate[0],2,'0',
STR_PAD_LEFT)."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT);     return
$myDateStr;            } ?>

上一篇:[Unity3D]转让Android介面


下一篇:认识Influxdb时序数据库及Influxdb基础命令操作