【发布时间】:2021-12-16 00:04:33
【问题描述】:
我使用的是 Laravel 5.8,并添加了 Maatwebsite 包,用于从数据库表中导出 CSV 文件。
这是我导出的类:
class ConfirmedExport implements FromCollection, WithHeadings
{
public function headings():array{
return [
];
}
public function collection()
{
return collect(WithdrawWallet::getData());
}
}
结果如下:
"123456789","2100","Desc","lname","fname"
但是我需要从单词中删除双引号(" "),所以预期的结果是这样的:
123456789,2100,Desc,lname,fname
那该怎么做呢?
更新 #1:
我刚刚为导出类尝试了这段代码:
namespace App\Exports;
use App\WithdrawWallet;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class ConfirmedExport implements FromCollection, WithHeadings
{
public function headings():array{
return [
];
}
public function collection()
{
return collect(WithdrawWallet::getData());
}
public function getCsvSettings(): array
{
return [
'enclosure' => ''
];
}
}
它成功地从最后一个元素(即:123456789)中删除了" ",但仍然为其他元素显示" "!
【问题讨论】:
-
str_replace('"','',$csvstr)? -
@ProfessorAbronsius 我刚刚使用
str_replace('"','',$csvstr)添加了我的控制器方法,但仍然无法正常工作,并在下载的文件中显示双引号 -
我使用变量
$csvstr来表示文件的内容,而这里您使用它作为文件名 -
@ProfessorAbronsius 那么如何正确使用文件内容呢?
-
为什么你“需要”完全删除引号?它们在 CSV 文件中完全有效 - 有时是必要的,例如,如果它们包含的值包含逗号。
标签: php laravel laravel-5.8 maatwebsite-excel laravel-excel