Laravel 예제에서 CSV 파일을 내보내는 방법

4230 단어 exportlaravelphpcsv
이 기사에서는 laravel에서 CSV 파일을 내보내는 방법을 볼 것입니다. laravel에서 CSV 파일 내보내기는 가장 일반적인 기능이며 플러그인이나 기성 기능을 사용하여 이 기능을 여러 번 사용하고 있습니다. 이 예제에서도 fopen() 및 fputcsv() 함수를 사용합니다. fputcsv() 함수는 줄을 CSV 형식으로 지정하고 열린 파일에 씁니다. fopen() 함수는 파일 또는 URL을 엽니다. 여기에서는 laravel에서 어떤 유형의 플러그인도 사용하지 않고 laravel 8에서 CSV 파일 내보내기 예제를 제공합니다.

그래서 라라벨 8에서 csv 파일 내보내기, 라라벨 8에서 csv 파일 내보내기, 라라벨에서 csv 파일 다운로드, 라라벨 8에서 csv 파일 만들기, 라라벨 8 csv로 내보내기, 라라벨 8 csv로 데이터 내보내기, PHP에서 fputcsv , php에서 csv 파일 내보내기, php에서 csv 파일 내보내기, csv php로 내보내기.

Step 1 : Add Route



이 단계에서는 web.php 파일에 경로를 추가합니다.

Route::get('/export-csv', 'ExampleController@exportCSV');



Read Also : Laravel 8 cURL HTTP Request Example


Step 2 : In Blade File



데이터를 내보내려는 블레이드 파일에 내보내기 버튼 링크를 추가합니다.

<span data-href="/export-csv" id="export" class="btn btn-success btn-sm" onclick ="exportTasks (event.target);">Export</span>


Step 3 : Add Script in JS file



이제 body 태그 뒤에 아래 스크립트를 추가합니다.

<script>
   function exportTasks(_this) {
      let _url = $(_this).data('href');
      window.location.href = _url;
   }
</script>



Read Also : How To Validate URL In PHP With Regex


Step 4 : Add Function in Controller



이제 아래 코드를 복사하여 컨트롤러에 추가하십시오.

public function exportCSV(Request $request)
{
   $fileName = 'tasks.csv';
   $tasks = Task::all();

        $headers = array(
            "Content-type"        => "text/csv",
            "Content-Disposition" => "attachment; filename=$fileName",
            "Pragma"              => "no-cache",
            "Cache-Control"       => "must-revalidate, post-check=0, pre-check=0",
            "Expires"             => "0"
        );

        $columns = array('Title', 'Assign', 'Description', 'Start Date', 'Due Date');

        $callback = function() use($tasks, $columns) {
            $file = fopen('php://output', 'w');
            fputcsv($file, $columns);

            foreach ($tasks as $task) {
                $row['Title']  = $task->title;
                $row['Assign']    = $task->assign->name;
                $row['Description']    = $task->description;
                $row['Start Date']  = $task->start_at;
                $row['Due Date']  = $task->end_at;

                fputcsv($file, array($row['Title'], $row['Assign'], $row['Description'], $row['Start Date'], $row['Due Date']));
            }

            fclose($file);
        };

        return response()->stream($callback, 200, $headers);
    }



당신은 또한 좋아할 수 있습니다:
  • Read Also : Laravel Firebase Push Notification
  • Read Also : Google Line Chart Example in Laravel 8
  • Read Also : Laravel 8 Import Export CSV/EXCEL File Example
  • Read Also : Remove/Hide Columns While Export Data In Datatable
  • 좋은 웹페이지 즐겨찾기