文書の過去の版を表示しています。
Laravel で CSV ダウンロード機能を実装する一例。
文字コードを 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']
);
}
}
コメント