#laravel #csv #laravel-excel
Вопрос:
Я пытаюсь импортировать csv-файл с помощью пакета Laravel-excel composer, но этот 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
Ответ №1:
я исправил это, добавив WithCustomCsvSettings
проблему использования в свой класс importng и добавив настройку внутри класса. вот он
<?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`
];
}
}