1

我的 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);
4

1 回答 1

1

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

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

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

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

于 2013-05-29T06:39:09.343 回答