<form action="/flightmanage/importExcel" method="post" enctype="multipart/form-data">
<input type="file" name="excel_name" >
<input type="submit" value="确认导入">
</form>
function
public function importExcel()
{
// print_r($_FILES['excel_name']);die;
if (!empty($_FILES['excel_name']['name'])) {
$fileName = $_FILES['excel_name']['name']; //得到文件全名
$dotArray = explode('.', $fileName); //把文件名安.区分,拆分成数组
$type = end($dotArray);
}
if ($type != "xls" && $type != "xlsx") {
$ret['res'] = "0";
$ret['msg'] = "不是Excel文件,请重新上传!";
echo 'no excel';
}
// $path = dirname(__FILE__).'/../../upload/'.$_FILES['excel_name']['name'];
// excel 上传目录
$base = dirname(__FILE__).'/../../upload/';
if(!is_dir($base)){
mkdir($base,0777,true);
}
$path = $base.date('Ymd').'/';
if(!is_dir($path)){
mkdir($path,0777,true);
}
$path = $path.$_FILES['excel_name']['name'].date('H-i-s');
// 上传文件,文件路径
move_uploaded_file($_FILES['excel_name']['tmp_name'],$path);
// PHPExcel
require_once(THIRD_PATH . '/PHPExcel/PHPExcel.php');
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
$objPHPExcel = $objReader->load($path, 'utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); //取得总行数
$highestColumn = $sheet->getHighestColumn(); //取得总列数
$sql='insert into ***';
for($j=2;$j<=$highestRow;$j++) //从第二行开始读取数据
{
$str="";
$arr = [];
for($k='A';$k<='I';$k++) //从A列读取数据
{
// $str .= ','.$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();//读取单元格
if ($k == 'A') { // 日期
$arr['date'] = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue()));
}elseif ($k == 'E'){ // 起飞时间
$arr['fromtime1'] = gmdate('H:i:s', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("E".$j)->getValue()));
}elseif ($k == 'F'){ // 到达时间
$arr['totime1'] = gmdate('H:i:s', PHPExcel_Shared_Date::ExcelToPHP($objPHPExcel->getActiveSheet()->getCell("F".$j)->getValue()));
}elseif ($k == 'G'){ // 价格
$arr['price'] = (float)$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
}else{
$arr[] = (string)$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();//读取单元格
}
}
foreach($arr as &$v){
$v = '"'.$v.'"';
}
}
$sql = mb_substr($sql,0,-1);
$res = $this->db->query($sql);
}