10 * 1024 * 1024) {//en bytes $return["error"] = "Demasiado grande"; $return["json"] = json_encode($return); echo json_encode($return); exit(); } $exts_arr = array("xls","xlsx"); $dot_arr = explode('.', $archivo); $ext = end($dot_arr); if(!in_array($ext, $exts_arr)){ $return["error"] = "No es una extensión válida"; $return["json"] = json_encode($return); echo json_encode($return); exit(); } $inputFileName = $_FILES["archivo"]["tmp_name"][0]; $inputFileType = IOFactory::identify($inputFileName); $reader = IOFactory::createReader($inputFileType); $spreadsheet = $reader->load($inputFileName); $sheetData = $spreadsheet->getActiveSheet()->toArray(); $fecha = trim($spreadsheet->getActiveSheet()->getCell('M5')->getValue()); $alumnoArr = array(); $omitidoArr = array(); $al = 0; $omitido = 0; $row = 1;//donde empiezaa el archivo foreach($sheetData as $data){ $col = 1; if($row >= 4){//ignora header if(valoresCompletos($data, 1, 10)){ $alumnoArr[$al]["folio"] = trim($data[$col++]); $alumnoArr[$al]["clave"] = trim($data[$col++]); $alumnoArr[$al]["nombre"] = trim($data[$col++]); $alumnoArr[$al]["apellidos"] = trim($data[$col++]); $alumnoArr[$al]["res1"] = (trim($data[$col++])); $alumnoArr[$al]["res2"] = (trim($data[$col++])); $alumnoArr[$al]["res3"] = (trim($data[$col++])); $alumnoArr[$al]["res4"] = (trim($data[$col++])); $alumnoArr[$al]["res5"] = (trim($data[$col++])); $alumnoArr[$al]["total"] = (trim($data[$col++]));//se puede calcular $al++; }else{//no están completos if(!renglonVacio($data, 1, 10)){//si no están vacías las 9 celdas del rengón $omitidoArr[$omitido]["folio"] = trim($data[$col++]); $omitidoArr[$omitido]["clave"] = trim($data[$col++]); $omitidoArr[$omitido]["nombre"] = trim($data[$col++]); $omitidoArr[$omitido]["apellidos"] = trim($data[$col++]); $omitido++; } } } $row++; } $return["fecha"] = $fecha; $return["alumnosArr"] = $alumnoArr; $return["omitidosArr"] = $omitidoArr; $return["omitidos"] = $omitido; } $return["json"] = json_encode($return); echo json_encode($return); ?>