ユーザ用ツール

サイト用ツール


サイドバー

プログラム言語:php:laravel:csvダウンロード

文書の過去の版を表示しています。


【Laravel】CSVダウンロード(エクスポート)

Laravel で CSV ダウンロード機能を実装する一例。

App\Http\Controllers\CsvController.php

文字コードを SJIS-win で出力場合の例。

class CsvController extends Controller
{
    public function download(Survey $survey)
    {
        $csv_headers = ['No.', 'Name', 'Date'];
        $csv_body = [];

        // DB からデータを読み込むなどし csv_body に格納

        return response()->streamDownload(
            function () use ($survey, $csv_headers, $csv_body) {
                $stream = fopen('php://output', 'w');

                mb_convert_variables('SJIS-win', 'UTF-8', $csv_headers);
                fputcsv($stream, $csv_headers);

                foreach ($csv_body as $line) {
                    mb_convert_variables('SJIS-win', 'UTF-8', $line);
                    fputcsv($stream, $line);
                }

                fclose($stream);
            }, 'file_name.csv',
            ['Content-Type' => 'application/octet-stream']
        );
    }
}

コメント

コメントを入力. Wiki文法が有効です:
 
プログラム言語/php/laravel/csvダウンロード.1614241629.txt.gz · 最終更新: 2021/02/25 17:27 by humolife