//常用方法是结合PHPExcel插件来实现excel数据到数据库的批量插入,而这里介绍的是另外一种简易又灵活方法来实现。
1、首先把要处理的excel文档的数据复制下来,到txt文本中保存
2、实现代码
public function excelInsertDB(){
header(“Content-type:text/html;charset=utf8″);
$tmp = file_get_contents(APP_ROOT.’/test.txt’);
$tmp_list = explode(“\r\n”,$tmp);//换行符作为一个数组分隔符,excel每行数据通过换行符分割开
$insert_str = ”;//最终插入数据库SQL生成
foreach($tmp_list as $key=>$item){
$item_array = explode(“\t”,$item);//tab键作为一个数组分隔符,excel每行数据的每一列单元格通过tab键分割开
if(isset($item_array[0]) && false !== strpos($item_array[0],’,’)){//存在一个单元格拥有多个数据的情况( 例如: jeskitt,shaoxing 28 )
//当条数据存在多个数组的情况
$tmp_info = explode(‘,’,$item_array[0]);
foreach($tmp_info as $j=>$j_item){
$insert_str .= ‘insert into info(name,age)values(‘.$j_item.’,’.$item_array[1].’);’;
}
}else{
$insert_str .= ‘insert into info(name,age) values(‘.$item_array[0].’,’.$item_array[1].’);’;
}
}
echo $insert_str;
exit;
}
3、执行该方法得出SQL代码
insert into info(name,age)values(jeskitt,24);insert into info(name,age) values(jeskitt_he,23);
4、通过第3步生成的批量SQL语句,然后通过MySQL客户端进行执行相应代码即可实现excel数据到数据库的批量插入。