2017-10-24 5 views
0

Excel CSV 시트를 만든 다음 다운로드하려고합니다.Laravel Return Download가 작동하지 않았습니다.

CSV 파일이 완벽하게 작성되었지만 불행히도 다운로드가 작동하지 않았습니다.

public function download_csv(Request $request) { 
     if ($request->isMethod('post')) { 
      if (Auth::check()) { 

      $user_id = Auth::id(); 
      $customer_id = Auth::user()->customer_id; 

      $suppliers = Supplier::where('is_active', 1)->get(); 

      $dataCSV = array(); 
      $main = array(); 
      $cnt = 1; 
      foreach($suppliers as $m) { 
       $main['S. No'] = $cnt++; 
       $main['Name'] = $m->Name; 
       array_push($dataCSV, $main); 
       $cnt++; 
      } 

      $csv_name = $user_id.'_'.rand(10000, 99999); 
      $csv = Excel::create($csv_name, function($excel) use($dataCSV) { 
       $excel->sheet('Sheetname', function($sheet) use($dataCSV) { 
        $sheet->fromArray($dataCSV); 
       }); 
      }); 
      $csv->store('csv', storage_path('excel/exports/'.$customer_id.'/')); 
      $file = storage_path('excel/exports/'.$customer_id.'/'.$csv_name.'.csv'); 

      $headers = array(
       'Content-Type: application/csv', 
      ); 

      return Response::download($file, $user_id.'.csv', $headers); 

      } 
     } 
    } 

어디에 문제가 있는지 알 수 없습니다.

도움이 될 것입니다.

감사합니다.

+0

, 당신은 페이지를 새로 고침해야합니다. –

답변

0

응답 클래스를 사용 했습니까? use Illuminate\Support\Facades\Response;

옵션 2 : 다른 방법을 통해 그것을 다운로드하십시오 : 다운로드 return response()->download($pathToFile, $name, $headers);

https://laravel.com/docs/5.4/responses#file-downloads