思路一:使用xml文件保存excel中列与数据表中字段对应关系,然后通过xml文件来添加数据思路二:excel中第一行保存字段名,其他行保存数据思路三:将excel中列与数据表中字段对应关系,用一个.php文件保存在此讲解的是思路二,使用的是phpexcel
1.创建对象
$objreader = phpexcel_iofactory::createreader('excel5');//use excel2007 for 2007 format
2.指定excel文件
$objphpexcel = $objreader->load($newfilename);
$sheet = $objphpexcel->getsheet(0); //获取操作excel中第一张表的数据
$highestrow = $sheet->gethighestrow(); // 取得总行数 返回是int类型
$highestcolumn = $sheet->gethighestcolumn(); // 取得总列数 返回是字母
$allfileds='';
$filedssum='a'; //设置有效列的默认最大值
$datainfo='';
$tidindex=0;
for ($i='a';$i $curfiled=$sheet->getcell($i.'1')->getvalue();
if(!empty($curfiled)){ //过滤无效的列
$filedssum=$i;
$allfileds.=',`'.$curfiled.'`';
}
}
$inputdatasql=''; //插入sql语句
for($j=2; $j $inputdata=array();
for ($i='a';$i$inputdata[]='\''.$sheet->getcell($i.$j)->getvalue().'\'';
//因为不确定该字段是否为string还是int类型,所以都加上''就不会出现错误
$inputdatasql.=',('.implode(',', $inputdata).')';
}
$inputdatasql=substr($inputdatasql,1); //去掉最前面的一个','逗号
$sql='insert into ('.$allfileds.') values '.$inputdatasql;最后调用相应的数据库操作对象,执行插入操作即可。
以上就介绍了php操作excel文件,将excel中数据导入到数据库,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。