//导入excel内容转换成数组 function import($filePath){ /*导入phpExcel核心类 */ include_once 'Classes/PHPExcel.php'; include_once 'Classes/PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls include_once 'Classes/PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式 //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取 $reader = new PHPExcel_Reader_Excel2007(); if(!$reader->canRead($filePath)){ $reader = new PHPExcel_Reader_Excel5(); if(!$reader->canRead($filePath)){ echo 'no Excel'; return; } } $PHPExcel = $reader->load($filePath); // 载入excel文件 $sheet = $PHPExcel->getSheet(0); // 读取第一个工作表 $highestRow = $sheet->getHighestRow(); // 取得总行数 $highestColumm = $sheet->getHighestColumn(); // 取得总列数 $end_index = PHPExcel_Cell::columnIndexFromString($highestColumm);//由列名转为列数('AB'->28) /** 循环读取每个单元格的数据 */ $data = array(); //声明数组 for ($row = 1; $row <= $highestRow; $row++){//行数是以第1行开始 $temp = array(); for ($column = 0; $column <= $end_index; $column++) {//列数是以A列开始 $col_name = PHPExcel_Cell::stringFromColumnIndex($column);//由列数反转列名(0->'A') $temp[] = $sheet->getCell($col_name.$row)->getValue(); } $data[] = $temp; } return $data; } $tmp_file = $_FILES['file']['tmp_name']; $file_types = explode(".",$_FILES['file']['name']); $file_type = $file_types[count($file_types) - 1]; /*判别是不是.xls文件,判别是不是excel文件*/ if(strtolower($file_type ) != "xls" && strtolower($file_type ) != "xlsx"){ die('不是Excel文件,重新上传'); } /*设置上传路径*/ $savePath = "Uploads/"; /*以时间来命名上传的文件*/ $str = date('Ymdhis'); $file_name = $str.".".$file_type; /*是否上传成功*/ if(!copy($tmp_file,$savePath.$file_name)){ die('上传失败'); } $data = import($savePath.$file_name);