将大量Excel数据插入MySQL数据库

时间:2013-05-29 06:18:07

标签: php mysql arrays phpexcel

我的Excel工作表中有大量数据。 Excel工作表包含5到6个选项卡,不同选项卡中的列不同。现在我想使用数组在数据库中插入所有数据,但问题是由于没有列。有没有办法将列名作为数组键名?

这是我的代码:

$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);

1 个答案:

答案 0 :(得分:0)

如果数据量很大,我更喜欢将Excel数据导出(另存为)到CSV(或TSV)文件并导入到数据库。

假设导出的文件名为'data.csv'。您可以在mysql命令解释器中使用此命令导入文件。

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

确保在excel中创建一个具有相同数量(和类型)列的表,然后开火! 我建议为每个选项卡创建单独的表(如果列的数量和类型不同)。