#arrays #excel #laravel #import #package
Вопрос:
Я хочу импортировать Excel, но только в индекс листа[0], но при использовании метода toCollection или toArray строки, завернутые в массив индексов листа:
Я хочу удалить обернутый родительский массив, как это сделать?
Вот мой код:
Import.php
lt;?php namespace AppImports; use MaatwebsiteExcelConcernsImportable; use MaatwebsiteExcelConcernsSkipsEmptyRows; use MaatwebsiteExcelConcernsWithCalculatedFormulas; use MaatwebsiteExcelConcernsWithMultipleSheets; class Import implements SkipsEmptyRows, WithCalculatedFormulas, WithMultipleSheets { use Importable; /** * Select sheet by index and how they are * mapped to specific import object. * * @return array */ public function sheets(): array { return [ 0 =gt; new static(), ]; } }
Контроллер:
$filePath = 'import-excel.xlsx'; $import = new Import(); $rows = $import-gt;toCollection($filePath); dd($rows-gt;toArray());
ожидаемый результат:
[0] =gt; Array( [0] =gt; *Contact Name [1] =gt; *Contact Email [2] =gt; *Contact Address ) [1] =gt; Array ( [0] =gt; Talia Oktaviani S.Psi [1] =gt; nova03@yahoo.com [2] =gt; Ds. Abdul No. 618 Tarakan 11408 KalU )
Фактический результат:
Array( lt;== ***I want remove this.*** [0] =gt; Array( lt;== ***I want remove this.*** [0] =gt; Array( [0] =gt; *Contact Name [1] =gt; *Contact Email [2] =gt; *Contact Address ) [1] =gt; Array ( [0] =gt; Talia Oktaviani S.Psi [1] =gt; nova03@yahoo.com [2] =gt; Ds. Abdul No. 618 Tarakan 11408 KalU ) ) lt;== ***I want remove this.*** ) lt;== ***I want remove this.***
Ответ №1:
Вы можете удалить, если используете функцию сворачивания
$filePath = 'import-excel.xlsx'; $import = new Import(); $rows = $import-gt;toCollection($filePath)-gt;collapse(); dd($rows-gt;toArray());