我需要将一个表导入数组。并不是导入所有单元格,而是仅导入2列。
例如,来自
A | B | C | DF||
---|---|---|---|---|
1 | 2 | 3 | >td>45//tr>||
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();
}
}