$filePath = $_FILES['file']['tmp_name'];
if(!$filePath){
echo '请选择导入文件!';
exit;
}
// 要读取的文件的路径
//$phpexcel = new \PHPExcel;
$PHPReader = new \PHPExcel_Reader_Excel2007(); //读取excel文件
// 这里是用Reader尝试去读文件,07不行用05,05不行就报错。
if (!$PHPReader->canRead($filePath)) {
$PHPReader = new \PHPExcel_Reader_Excel5();
if (!$PHPReader->canRead($filePath)) {
$errorMessage = "Can not read file.";
return $this->render('error', ['errorMessage' => $errorMessage]);
}
}
// Reader读出来后,加载给Excel实例
$PHPExcel = $PHPReader->load($filePath);
//开始遍历输出二维表格
$allSheet = $PHPExcel->getSheetCount(); // sheet数
$currentSheet = $PHPExcel->getSheet(0); // 拿到第一个sheet(工作簿?)
$highestRow = $currentSheet->getHighestRow(); // 取得总行数
$mModel = new Model();
//循环读取excel文件,读取一条,插入一条
for ($j=2;$j<=$highestRow;$j++) {
$data['activity'] = $PHPExcel->getActiveSheet()->getCell("A$j")->getValue();
$data['prize'] = $PHPExcel->getActiveSheet()->getCell("B$j")->getValue();
$data['redeem_code'] = $PHPExcel->getActiveSheet()->getCell("C$j")->getValue();
$temp = array();
$temp = $data;
//数据验证
if (TRUE !== $m = $this->validation($data)) {
return $this->promptInfo(E_ACTIVITY_REDEEM_CODE_EXCEL_FAILED , "第 $j 行,出错原因:' $m '");
}
//判断是否存在
$exist = $mModel->findExit(['redeem_code'=>$data['redeem_code'] , 'aid' => $data['aid'] , 'prize_id' => $data['prize_id']]);
if(!isset($exist['id'])) {
$mModel->addRecord($data);
}
}
return $this->promptInfo(E_OK , "导入完成!");