如何修改Maatwebsite(LaravelExcel)的enclosure配置导出无引号CSV文件
解决方法
方法1:全局修改CSV导出配置
适用于所有导出的CSV都不需要双引号的场景:
- 运行命令发布扩展配置文件:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" - 打开项目根目录下生成的
config/excel.php文件,找到exports.csv配置块 - 将配置项
'enclosure' => '"'修改为'enclosure' => '',保存后全局生效
方法2:仅为当前Export类自定义配置
适用于仅本次导出不需要双引号,其他导出逻辑保留默认配置的场景:
修改你的ConfirmedExport类,额外实现WithCustomCsvSettings接口,新增CSV配置方法即可,修改后完整代码如下:
use Maatwebsite\Excel\Concerns\WithCustomCsvSettings; class ConfirmedExport implements FromCollection, WithHeadings, WithCustomCsvSettings { public function headings():array{ return [ // 保留你原有的表头配置 ]; } /** * @return \Illuminate\Support\Collection */ public function collection() { return collect(WithdrawWallet::getData()); } public function getCsvSettings(): array { return [ 'enclosure' => '', ]; } }
注意:如果你的导出字段内容中包含逗号、换行等特殊字符,去掉双引号包裹会导致CSV格式错乱,请提前确认所有导出内容不存在会破坏CSV结构的特殊字符,符合银行接口的格式要求。
内容的提问来源于stack exchange,提问作者Pouya Vaghefi
相关产品推荐
相关产品推荐

