2017-06-03 144 views
0

我已经编写了用于导出数据(来自查询生成器)并将该表单立即下载到用户浏览器的代码。我正在使用Laravel-Excel包,但csv文件没有下载。无法使用Laravel-Excel从数组中下载Excel表单?

我想CSV文件是 '标签' 分隔象下面这样:

Supplier  Campaign Disposition 
sup-value1 cam-value1 dis-value1 
sup-value2 cam-value2 dis-value2 
sup-value3 cam-value3 dis-value3 

我作为数组输入是:

$results = 
Array 
(
[0] => Array 
    (
     [Supplier] => Avikmithran 
     [Campaign] => krisha 
     [Disposition] => testing purpose 
    ) 
[1] => Array 
    (
     [Supplier] => Avikmithran 
     [Campaign] => testscaseqwe 
     [Disposition] => this is the disposition 
    ) 
[2] => Array 
    (
     [Supplier] => Avikmitra 
     [Campaign] => KrishnaL 
     [Disposition] => this is testing 
    ) 
[3] => Array 
    (
     [Supplier] => Sonali 
     [Campaign] => starslab 
     [Disposition] => this is the disposiiton 
    ) 
) 

CSV文件下载的代码是:

Excel::create('Statistics', function($excel) use($results) { 

      $excel->sheet('Statistics', function($sheet) use($results) { 

       $sheet->with($results); 

      }); 

})->export('csv'); 

这是驾驶坚果,我已经浪费了2天。任何人都可以告诉我什么是我的错误?谢谢。

回答

0

您需要使用fromArray方法,并通过引用传递$results

Excel::create('Statistics', function($excel) use(&$results) 
{ 
    $excel->sheet('Statistics', function($sheet) use(&$results) 
    { 
     $sheet->fromArray($results); 
    }); 

})->export('csv'); 
+0

感谢您的答复。我已经使用'fromArray'方法,但我没有通过引用传递$结果。我会尝试通过参考传递$结果,并会让你知道。 –

+0

我试过你的解决方案,但它不工作。响应显示,如果我检查浏览器>网络选项卡,但csv文件没有得到下载。 –

+0

我是否需要向位于“app/config/packages/maatwebsite/excel/config.php”或任何其他文件的文件添加/更改任何参数。 –