2013-05-29 3 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 и стрельбу! Я рекомендую создавать отдельные таблицы для каждой вкладки (если количество и тип столбцов разные).

Смежные вопросы