function import() { // 工装管理员 生产安全部 if (!has_perm(6, 1)) { exit; } $name = $_FILES['files']['name'][0]; $size = $_FILES['files']['size'][0]; $tmp_name = $_FILES['files']['tmp_name'][0]; if (get_file_ext($name) != 'xls') { $results['error'] = '对不起,系统只允许上传扩展名为 <strong>xls</strong> 的电子表格文件!'; $results['is_success'] = false; } else { if ($size > 2000000) { $results['error'] = '对不起,系统只允许上传小于 <strong>2M</strong> 的电子表格文件!'; $results['is_success'] = false; } else { if (!empty($tmp_name)) { $data = new \Spreadsheet_Excel_Reader(); $data->setOutputEncoding('UTF-8'); $cols = 12; /* 每一行有12个单元格 */ $data->read($tmp_name); error_reporting(E_ALL ^ E_NOTICE); // 对电子表格的每一行进行循环 // 检测到某个单元格不存在时,设定其为空值 $rows = array(); //debug( $data->sheets[0]['cells'] ); foreach ($data->sheets[0]['cells'] as $row) { for ($i = 1; $i <= $cols; $i++) { if (!isset($row[$i])) { $row[$i] = ''; } // 转换部门名称为部门id值 if ($i == 6 && !empty($row[$i])) { $row[$i] = get_group_id($row[$i]); } // 转换产品类型为id值 if ($i == 10) { $row[$i] = get_type_id($row[$i]); } // 生产数量如果为空,则置0 if ($i == 4 && empty($row[$i])) { $row[$i] = 0; } // 计划完成时间 if ($i == 5 && !empty($row[$i])) { $row[$i] = change_date_style($row[$i]); } } $rows[] = $row; } // 导入数据库 foreach ($rows as $row) { //debug( $row ); $prod = new \Model\Production(); $prod->num = $row[1]; $prod->name = $row[2]; $prod->graphic_num = $row[3]; $prod->count = $row[4]; $prod->planned_completion_date = $row[5]; $prod->graphic_src = $row[6]; $prod->use_dep = 18; $prod->completion_contact_person = $row[7]; $prod->completion_contact_phone = $row[8]; $prod->graphic_count = $row[9]; $prod->type = $row[10]; $prod->project_src = $row[11]; $prod->remark = $row[12]; $prod->user_id = $_SESSION['user_id']; if ($prod->is_valid()) { $prod->save(); } else { //debug( $prod->errors ); // 如果某条导入失败 // 记录该条目的生产指令号,产品名称 // 以及具体的错误原因 $errors = array(); foreach ($prod->errors as $error) { $errors[] = $error; } $results['failed_items'][] = array('num' => $prod->num, 'name' => $prod->name, 'errors' => $errors); } } //debug( $rows );*/ //debug( $rows ); //debug( $rows ); $results['is_success'] = true; } } } echo json_encode($results); }