Удалить импорт родительского массива листа в коллекцию или массив в пакете Laravel Excel

#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());