php - 如何从导出的 csv 文件中删除双引号

标签 php laravel laravel-5.8 maatwebsite-excel laravel-excel

我使用的是 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)中删除了 "",但仍然显示了 ""其他的!

enter image description here

最佳答案

@nagidi 发布配置后,您可以在设置中更改此设置。

  1. 运行以下命令:

    php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config
    
  2. config/excel.php 的“enclosure”中删除 "(双引号)

     'exports' => [
         'csv' => [
             'enclosure' => '', // was '"'
             // other settings
         ],
     ],
    

现在您的 csv 导出值不再包含 " 附件。

如果您想在每次导出时更改此设置,您可以实现 WithCustomCsvSettings Concern 并将 getCsvSettings 方法添加到您的 ConfirmedExport 类中:

use Maatwebsite\Excel\Concerns\WithCustomCsvSettings;

class ConfirmedExport implements WithCustomCsvSettings
{
    // other code

    public function getCsvSettings(): array
    {
        return [
            'enclosure' => ''
        ];
    }
}

关于php - 如何从导出的 csv 文件中删除双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69793856/

相关文章:

php - 从 php foreach 插入多行

php - Laravel Redirect::route() 在 vhost 上访问错误的 url

php - Laravel 5.2 - 如何将变量(数组和整数)从 View 传递到 Controller ?

php - 在 var/www/html/admin/vendor/nesbot/carbon/src/Carbon/Traits/Units.php 中遇到格式不正确的数值

php - MySQL PHP : query multiple rows and return value if "WHERE IN" id not found

php - Laravel Eloquent - 保存/更新相关的一对多关系数据

php - MySQL 查询使用 PDO 没有返回结果

php - 在 MongoDB 查询中或使用 PHP 查找键名列表

php - Laravel 在应用程序命名空间之外创建模型

php - 无法在 Controller 中获取用户 ID 并且 Auth::check() 不工作 - Laravel 5.8