public function upload(Request $request) { $file = ""; $validator = Validator::make($request->all(), ['site' => 'required', 'filexlx' => 'required']); if ($validator->fails()) { return \Redirect::back()->withErrors($validator)->withInput(); } $file = $request->file('filexlx'); $fileName = $request->file('filexlx')->getClientOriginalName(); $destinationPath = public_path() . "/documents/"; $destinationPath = $destinationPath . $fileName; if (file_exists($destinationPath)) { unlink($destinationPath); } $request->file('filexlx')->move(public_path() . "/documents/", $fileName); try { $objPHPExcel = \PHPExcel_IOFactory::load($destinationPath); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true); //$highestRow = $sheetData->getHighestRow(); // e.g. 10 //$highestColumn = $sheetData->getHighestColumn(); // e.g 'F' $z = 1; $stack = new Invoicingstack(); $stack->title = $request->input('site'); $stack->company_id = $request->input('company_id'); $stack->site_id = $request->input('site'); $stack->description = $request->input('description'); $stack->file_url = "/documents/" . $fileName; $stack->invoicing_date = $request->input('submit_date'); $stack->created_at = date("Y-m-d H:i:s"); $stack->updated_at = date("Y-m-d H:i:s"); //$stack->row_count = $highestRow; $stack->save(); /*$highestColumnIndex = \PHPExcel_Cell::columnIndexFromString($highestColumn); // e.g. 5 for($row =1; $row<= $highestRow; $row++){ for($col=0; $col <= $highestColumnIndex; $col++ ){ $sheetData->getCellByColumnAndRow($col, $row)->getValue(); } }*/ foreach ($sheetData as $data) { if ($z != 1) { //Skips the sheet headings if (!empty($data["G"])) { $invoicing = new Invoicing(); $invoicing->stack_id = $stack->id; $invoicing->site = $request->input('site'); $invoicing->user = $data["B"]; $invoicing->ip = $data["C"]; $invoicing->job_title = $data["D"]; $invoicing->submit_date = date_format(date_create($data["E"]), "Y-m-d H:i:s"); $invoicing->final_date = date_format(date_create($data["F"]), "Y-m-d H:i:s"); $invoicing->final_action = $data["G"]; $invoicing->final_site = $data["H"]; $invoicing->number_of_pages = $data["I"]; $invoicing->release_ip = $data["J"]; $invoicing->release_user = $data["K"]; $invoicing->release_method = $data["L"]; $invoicing->job_color = $data["M"]; $invoicing->print_job_duplex = $data["N"]; //$invoicing->job_paper_size = $data["N"]; if (strtolower($data["O"]) == "unknown" || empty($data["O"])) { $invoicing->job_paper_size = "A4"; } else { $invoicing->job_paper_size = $data["O"]; } $invoicing->device_name = $data["P"]; $invoicing->device_type = $data["Q"]; $invoicing->device_host = $data["R"]; $invoicing->created_at = date("Y-m-d H:i:s"); $invoicing->save(); } } $z++; } $stack->row_count = $z; $stack->update(); \Session::put("success_message", "File successfully processed"); return \Redirect::back(); } catch (Exception $ex) { echo $ex->getMessage(); } catch (\Illuminate\Database\QueryException $e) { \Session::put("error_message", $e->getMessage()); return \Redirect::back(); } catch (\PDOException $e) { \Session::put("error_message", $e->getMessage()); return \Redirect::back(); } catch (\Exception $e) { \Session::put("error_message", $e->getMessage()); return \Redirect::back(); } catch (PHPExcel_Reader_Exception $e) { \Session::put("error_message", $e->getMessage()); return \Redirect::back(); } //} }