自從對php和mysql有了一定的瞭解之後,我就對公司裡龐大的Excel資料庫虎視眈眈,想偷偷地"共用"這被保密的商業資料,一邊琢磨著怎麼搞到手,一邊考慮如何轉化成mysql資料庫,去了很多php網站論壇請教高手,都沒有一個結果,某天突發想象,為何不試試這種方法呢?結果也真行,一切Ok,下面我就把我的心得與大家完全共用(可能你有更好的方法)
1.先介紹一下這個Excel資料庫的結構,且命名為E.xls,欄位有4個(40個也一樣搞掂),欄位名為a,b,c,d,接著對jm.xls做分解:
1)選中欄位a中的全部記錄,選擇"複製"
2)建立一個Excel資料庫檔案,把複製過來的資料粘貼在一個空白的欄位(通常是A)下,保證其他欄位空白,儲存為a.xls
3)另存a.xls為a.txt(格式為"文字檔(定位字元分隔)")
4)E.xls中其他3個欄位的資料按1到3步驟繼續產生b.txt,c.txt和d.txt。
2.完成上述步驟後,你已經完成了大部分的工作,下面就由php和mysql來完成,很簡單:
1)要把資料放在mysql中,必須建立一個mysql資料庫檔案名為dbname(與php代碼中的dbname要一致),包括表tbname(與php代碼中的tbname要一致),4個欄位inc char(100),adds char(100),pri char(100),tel char(100),大小要根據Excel中欄位大小做調整,否則可能出現部分值丟失。
2)再編寫php代碼,是最主要的,代碼如下:
------txt2mysql.php---------
<?
$inc=file("a.txt");
$adds=file("b.txt");
$pri=file("c.txt");
$tel=file("d.txt");
$i=0;
mysql_connect();
while (strlen($inc[$i])>0)
{
$sql="insert into tbname values ('$inc[$i]','$adds[$i]','$pri[$i]','$tel[$i]')";
$do=mysql_db_query("dbname",$sql);
$i=$i+1;
echo '<br>';
}
$s="select * from tbname";
$gg=mysql_db_query("dbname",$s);
$n=mysql_num_rows($gg);
mysql_close();
echo '<br>';
echo "共添加了".$n."個記錄";
?>
注意:a.txt,b.txt,c.txt,d.txt和txt2mysql.php要在同一個目錄