我的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);
答案 0 :(得分:0)
如果数据量很大,我更喜欢将Excel数据导出(另存为)到CSV(或TSV)文件并导入到数据库。
假设导出的文件名为'data.csv'。您可以在mysql命令解释器中使用此命令导入文件。
load data local infile 'data.csv' into table YOURTABLE
确保在excel中创建一个具有相同数量(和类型)列的表,然后开火! 我建议为每个选项卡创建单独的表(如果列的数量和类型不同)。