public function product_import(Request $request) { $validator = Validator::make($request->all(), [ 'productFile' => 'required|file|mimes:xlsx,xls,csv,txt|max:2048', ]); if ($validator->fails()) { return back()->withErrors($validator)->withInput(); } $import = new ProductImport; try { Excel::import($import, $request->file('productFile')); $data = Excel::toArray([], $request->file('productFile')); // If you want to skip header: $rowCountWithoutHeader = count($data[0]) - 1; // print_r($rowCountWithoutHeader); // exit; $errors = $import->getErrors(); if (count($errors) > 0) { return back() ->with('warning', 'File imported with some issues.') ->with('import_errors', $errors); } return back()->with('success', "$rowCountWithoutHeader cabinet(s) imported successfully."); } catch (\Exception $e) { Log::error('Import Exception:', ['error' => $e->getMessage()]); return back()->with('error', 'Invalid file or import error: ' . $e->getMessage()); } }