Laravel 5.2联盟CSV输出在末尾添加额外的数字

时间:2016-08-26 14:49:08

标签: csv laravel-5.2

我正在创建一个非常简单的CSV文件,可以在Laravel 5.2中下载。我在Mac上。我已经使用composer安装了League / CVS Library并创建了这个简单的函数:

public function createCSVDemo()
{
    $header = ["Dates" , "Times"];
    $contents = [
        [date('Y-m-d'), date('H:i')],
        [date('Y-m-d'), date('H:i')],
    ];
    $csv = Writer::createFromFileObject(new \SplTempFileObject()); 
    $csv->insertOne($header);
    $csv->insertAll($contents);

    return $csv->output('demo.csv');
}

该函数返回数据,但最后总是有一行数字。

Dates   Times
2016-08-26  14:29
2016-08-26  14:29
139

我尝试添加下面列出的行。这些更改了数字但不删除它。

$cvs->setDelimiter("\t");
$cvs->setNewline("\r\n"); 
$cvs->setOutputBOM(Writer::BOM_UTF8);

有人能告诉我这个号码是什么以及我需要做些什么来妥善处理它?谢谢。

1 个答案:

答案 0 :(得分:6)

由于您要返回$csv->output('demo.csv')

,这些数字将写入最后一行

这需要先执行,然后再执行returndie()

E.g。

$csv->output('demo.csv');
return;