excel表格导入
效果实例:
public function lead_act(){ //包含文件 require_once IWEB_PATH.'core/util/excel/PHPExcel.php'; require_once IWEB_PATH.'core/util/excel/PHPExcel/IOFactory.php'; require_once IWEB_PATH.'core/util/excel/PHPExcel/Reader/Excel5.php'; //print_r($_FILES); //截取后缀 $substr=substr($_FILES['exea']['name'],strrpos($_FILES['exea']['name'],".")); $dir=IWEB_PATH."upload\\"; $filename=time().rand(1000,9999).$substr; $dirs=$dir.$filename; //echo $dir.$filename;exit; if($substr==".xls"||$substr==".xlsx"){ //echo $filename; move_uploaded_file($_FILES['exea']['tmp_name'],$dirs); //开始导出 if($substr==".xls"){ $objReader=PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format } if($substr==".xlsx"){ $objReader=PHPExcel_IOFactory::createReader('Excel2007');//use excel2007 for 2007 format } $objPHPExcel=$objReader->load($dirs);//$file_url即Excel文件的路径 $sheet=$objPHPExcel->getSheet(0);//获取第一个工作表 $highestRow=$sheet->getHighestRow();//取得总行数 $highestColumn=$sheet->getHighestColumn(); //取得总列数 //循环读取excel文件,读取一条,插入一条 for($j=2;$j<=$highestRow;$j++) {//从第一行开始读取数据 $str = ''; for ($k = 'A'; $k <= $highestColumn; $k++) { //从A列读取数据 //这种方法简单,但有不妥,以'\\'合并为数组,再分割\\为字段值插入到数据库,实测在excel中,如果某单元格的值包含了\\导入的数据会为空 $str .= $objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue() . '\\';//读取单元格 } //explode:函数把字符串分割为数组。 $strs = explode("\\", $str); print_r($strs); } }else{ echo "请上传正确的文件"; } }