csv - Laravel 5.2 League CSV 输出在末尾添加带有数字的额外行

标签 csv laravel-5

我正在创建一个非常简单的 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->output('demo.csv')

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

例如

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

关于csv - Laravel 5.2 League CSV 输出在末尾添加带有数字的额外行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169082/

相关文章:

excel - 高效地从 .xlsx 电子表格中提取工作表名称

powershell - 如何在 PowerShell 中根据列的值拆分 CSV?

Laravel - Socket.io 聊天系统

php - Laravel 容器和绑定(bind)

csv - Pentaho 维度查找/更新

mysql - 如何使用 find_in_set 计算值?

php - 如何在链接到一个主键的数据透视表上创建两个外键

php - 如何在 Laravel 5 上添加警报?

java - 优化 CSV 解析速度更快

php - 将默认值分配给 Form::input ('dateTime-local' )