调整生成的 CSV 文件的格式

Adjust format of generated CSV-File

我正在生成一个只有 4 列的非常小的 CSV 文件,它工作正常。当我按下指定的按钮时,它会下载并且我可以打开它并且所有想要的数据都存在。

不过版式很奇怪,不好看。外观如下:

https://i.stack.imgur.com/klXcw.png

上行是列名,下行是数据。

这是我生成文件的代码:

public function exportData(Bewerbungen $bewerbung) {

        $query = Portal::query()->where('email', '=', $bewerbung->bewerber_email)->get();

        $headers = [
            "Content-type"        => "text/csv",
            "Content-Disposition" => "attachment; filename=bewerberdaten.csv",
            "Pragma"              => "no-cache",
            "Cache-Control"       => "must-revalidate, post-check=0, pre-check=0",
            "Expires"             => "0",
        ];
        $columns  = ['id', 'email', 'vorname', 'nachname', 'telefon'];
        $callback = function () use ($query, $columns) {
            $file = fopen('php://output', 'w'); 
            fputcsv($file, $columns);
            foreach ($query as $res) {
                fputcsv($file, [$res->id, $res->email, $res->vorname, $res->nachname, $res->telefon]);
            }
            fclose($file);
        };
        return Response::stream($callback, 200, $headers);
    }

我尝试过内容编码,但这是我第一次使用 csv 和文件导出,所以我不知道方向是否正确。

编辑:更好的截图

https://i.stack.imgur.com/8HvhA.png

解决方案是安装这个: https://docs.laravel-excel.com/3.1/getting-started/installation.html

然后将变量 'excel_compatibility' => false 更改为 true

它在 config/excel.php 文件中