如何将XLSX中的特定列导入数组(Laravel)



我需要将一个表导入数组。并不是导入所有单元格,而是仅导入2列。

例如,来自

DF>td>45//tr>
A B C
1 2 3
6 7 8 9 10

感谢Patrick Brouwers的提示,这项工作成功了:app\Imports\PricesImport.php

<?php
namespace AppImports;
use MaatwebsiteExcelConcernsToArray;
class PricesImport implements ToArray
{
private $data;
public function __construct()
{
$this->data = [];
}
public function array(array $rows)
{
foreach ($rows as $row) {
$this->data[] = array('sku' => $row[0], 'price' => $row[4]);
}
}
public function getArray(): array
{
return $this->data;
}
}

控制器中的呼叫:

<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppImportsPricesImport;
use MaatwebsiteExcelFacadesExcel;
class SomeController extends Controller
{
public function import(Request $request) {
$import = new PricesImport;
Excel::import($import, $request->file('file'));
$array = $import->getArray();
}
}

最新更新