Php 在Laravel 5.2中单击锚链下载XLSX文件
我正在尝试使用Laravel Excel导出数据。我已经集成了Laravel excel,但是在下载按钮点击时发现了一个问题,而不是自动下载 以下是我的观点:Php 在Laravel 5.2中单击锚链下载XLSX文件,php,laravel,laravel-5.2,laravel-excel,Php,Laravel,Laravel 5.2,Laravel Excel,我正在尝试使用Laravel Excel导出数据。我已经集成了Laravel excel,但是在下载按钮点击时发现了一个问题,而不是自动下载 以下是我的观点: <a href="{{Export::exportXLSX('users', $users)}}" class="btn btn-default btn-sm"> <i class="fa fa-file-excel-o"></i>
<a href="{{Export::exportXLSX('users', $users)}}" class="btn btn-default btn-sm">
<i class="fa fa-file-excel-o"></i> Export Users </a>
// here $users is the array return from tbl_users through UsersController
我不想将文件存储到任何本地存储。我只想在点击链接时下载文件,而不是自动下载。有时,我的数据会根据数据库中的表名不断更改
我有什么办法可以做到这一点
谢谢大家! 根据Laravel Excel:
要下载创建的文件,请使用->导出($ext)或->下载($ext)
除非您想开始下载过程,否则您不需要使用->export
或->download
方法
首先,您需要将其存储在服务器上:
要在服务器上存储创建的文件,请使用->存储($ext、$path=false、$returnInfo=false)或->保存()
如果要返回存储信息,请将第三个参数设置为
true或更改export.php内的配置设置
以下是一个例子:
class Export
{
public static function exportXLSX($filename, $data){
$filename = $filename.'-'.Carbon::now();
$storage_info = Excel::create($filename, function($excel) use($data) {
$excel->sheet('Sheetname', function($sheet) use($data) {
$sheet->fromArray($data);
});
})->store('xls', false, true);
// Work with $storage_info->full parameter
// ...
}
}
如果要使用自定义存储路径(例如,为每个客户端分隔文件),可以将文件夹设置为第二个参数
->store('xls', storage_path('excel/exports'));
我想你是对的。我找到了另一个解决办法。我为此创建了一条路线。你不需要路线来实现这一点。下载文件后尝试使用
。它会被自动删除吗?好的,你的回答对我帮助很大:)没问题。您可以使用cron或Laravel的任务计划删除XLS文件:。或者使用Laravel事件系统。
->store('xls', storage_path('excel/exports'));