Php 使用laravel生成csv文件
我在google中搜索,从laravel生成csv文件,并找到以下代码:Php 使用laravel生成csv文件,php,laravel,Php,Laravel,我在google中搜索,从laravel生成csv文件,并找到以下代码: public function download(){ $headers = [ 'Cache-Control' => 'must-revalidate, post-check=0, pre- check=0' , 'Content-type' => 'text/csv' , 'Content-Disposition' => 'attac
public function download(){
$headers = [
'Cache-Control' => 'must-revalidate, post-check=0, pre- check=0'
, 'Content-type' => 'text/csv'
, 'Content-Disposition' => 'attachment; filename=galleries.csv'
, 'Expires' => '0'
, 'Pragma' => 'public'
];
$list = User::all()->toArray();
# add headers for each column in the CSV download
array_unshift($list, array_keys($list[0]));
$callback = function() use ($list)
{
$FH = fopen('php://output', 'w');
foreach ($list as $row) {
fputcsv($FH, $row);
}
fclose($FH);
};
return Response::stream($callback, 200, $headers);
}
在上面的代码中,我不明白
$callback = function() use ($list){...}
有人能给我解释一下吗?省去你的麻烦,使用这个图书馆: 它可以将您的数据转换为csv、excel和所有其他类型的好东西。对于更大的数据集,它特别好 因为当你在同一个操作系统上的同一个程序中打开你的csv时,一切都很有趣。但一旦你的客户使用Libre、Open或Office-op-MS或Mac,你的世界将在多个层面进入新的地狱深处
这个库尽可能地标准化csv,你会喜欢它的。我最近发现了“”包-在这里写了一篇关于我用法的S.O帖子(一个简单的例子):它正在创建一个函数并将该函数分配给一个变量;然后将该变量作为参数传递给
Response::stream()
,并且Response::stream()
将能够执行该函数我强烈建议使用Laravel Excel-它为您正在寻找的功能提供了一个很好的包装器。感谢您的宝贵意见