我试图使用Laravel excel composer包导入csv文件,但里面的csv文件与通常的csv不同,然后我发现通过更改默认Laravel excel包的配置可以使其导入。但我无法确定这个csv文件的配置是什么。
这里是示例csv数据
id created_time ad_id ad_name adset_id adset_name campaign_id campaign_name
l:132562915446228 2021-03-03T13:45:28+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:3689145127872575 2021-03-03T07:20:04+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:2374231269367799 2021-03-03T00:54:03+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:425446045204770 2021-03-02T18:44:41+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:184810853442455 2021-03-02T18:42:23+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:256522452772718 2021-03-02T17:11:56+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
l:1142930659490759 2021-03-02T12:13:24+05:30 ag:23847391487180225 "Campaign 2021 feb" as:23847391487170225
当前csv导入配置:
'csv' => [
'delimiter' => ',',
'enclosure' => '"',
'escape_character' => '\',
'contiguous' => false,
'input_encoding' => 'UTF-8',
],
我只需要有效的配置来导入这个csv
我通过向我的impriting类添加useWithCustomCsvSettings
关注点并从类内部添加配置来解决这个问题。这是
<?php
use MaatwebsiteExcelConcernsWithCustomCsvSettings;
class Import implements WithCustomCsvSettings
{
//set csv configs
public function getCsvSettings(): array
{
return [
'delimiter' => "t",
'enclosure' => '',
'escape_character' => '\',
'contiguous' => false,
'input_encoding' => 'UTF-8', // if this not worked use `UCS-2`
];
}
}