【问题标题】:Laravel 5.2 League CSV output adding extra line with numbers at the endLaravel 5.2 League CSV 输出在末尾添加带有数字的额外行
【发布时间】:2016-08-26 14:49:07
【问题描述】:

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

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);

谁能告诉我这个数字是多少以及我需要做什么才能正确处理它?谢谢。

【问题讨论】:

    标签: csv laravel-5.2


    【解决方案1】:

    数字被写入最后一行,因为您返回的是$csv->output('demo.csv')

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

    例如

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

    【讨论】:

    • 谢谢!这正是我所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 2021-03-29
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多