2013-05-29 191 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中的列号相同的数字(和类型)的表格,然后激活! 我建议为每个选项卡创建单独的表格(如果列的数量和类型不同)。