2013-05-29 112 views
1

我的Excel表中有大量數據。 Excel工作表包含5到6個選項卡,並且不同選項卡中的列有所不同。現在我想用數組插入數據庫中的所有數據,但問題是由於沒有列。有什麼方法可以將列名稱作爲數組鍵名稱嗎?將大量Excel數據插入到MySQL數據庫中

這裏是我的代碼:

$inserarray = array(); 

$inserarray['bl'][0] = "INSERT INTO `new`.`bl` 
(`Code` ,`url` ,`date` ,`Bl` , `Title` ,`Sub`)"; 

$inserarray['bl'][1] = "VALUES ('1', '1', '12', '12', 'ds', 's', 'sd', 's');"; 

$inser_query = $inserarray[$d1][0]; // [column_name][] 

$process_insertarray[] = "('".implode("','",$projdetail)."','".implode("','",$sup)."')"; 

$final_query = $inser_query.''.'VALUES'.implode(',',$process_insertarray); 
+0

您是否真的在使用PHPExcel庫? –

+0

是的...我爲此使用PHPExcel。 – tushAR

+0

從PHPExcel提取數據或者構建SQL語句時,您的問題如何? –

回答

0

如果是大量的數據,我寧願出口(另存爲)將Excel數據導入CSV(或TSV)文件,並導入到數據庫中。

假設導出的文件被稱爲'data.csv'。您可以在mysql命令解釋器中使用此命令導入文件。

load data local infile 'data.csv' into table YOURTABLE 

請確保您創建了一個與Excel中的列號相同的數字(和類型)的表格,然後激活! 我建議爲每個選項卡創建單獨的表格(如果列的數量和類型不同)。