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; } ?>