私たちのアプリケーションは、データを生成してExcelにフォーマットし、作成したExcelのダウンロードをトリガーするためにpostパラメータをサーバーに送信します。ajaxを使用してlaravel excelでExcelを正しく実行するにはどうすればよいですか
以前はphpexcelでこれを行い、tmpファイルにExcelを保存してから、Excelファイルのルートにリダイレクトをトリガーしました。アプリケーションをlaravelに移行していますが、同様に、mmatwebsite laravel excelプロバイダを使用してlaravelパブリックディレクトリにtmpファイルを保存し、その場所にリダイレクトします。これをtmpに保存せずに直接ダウンロードしたいのですが、到着するたびにネットワークウィンドウに何らかの文字化けがあります。
どのようにこれを行うことができ、これも可能ですが、私たちはtmpファイルのダウンロードを使用する予定ですか?現在、簡単なExcelの機能: `パブリック関数ExportCible(リクエスト$リクエスト){
$cible = Cible::filter($request->all())->get();
$columns = explode(",", $request->columns);
$titles = explode(",", $request->titles);
ob_end_clean();
ob_start();
$filename = "ciblage_d".date("Ymd",time())."_h".date("His",time());
Excel::create($filename, function($excel) use($cible,$columns, $titles){
$excel->sheet('Excel sheet', function($sheet)use($cible,$columns, $titles) {
$sheet->setOrientation('landscape');
$sheet->loadView('excelTemplates.cible')->with('cible', $cible)->with('columns', $columns)->with('titles', $titles);
});
})->store('xlsx', public_path('exports'));
return($filename.".xlsx");
}`
そして、ウィンドウの位置とAJAX側の呼び出しは、ダウンロードをトリガします。
exportData:function(url,data){
return $.ajax(url,{
data: data,
method: "POST",
success: function(fileLink){
window.location = Config.exportRoute + fileLink
},
});
}、
は何私はここで行方不明です。 - > export()と - > download()などの他のlaravelメソッドを試してみてください。以前phpexcelで同様のメソッドを試しました。決して運が良けれ
こちらをご覧くださいhttps://mattstauffer.co/blog/export-an-eloquent-collection-to-a-csv-with-league-csv – Michel