Viewing file: MappedReader.php (1.35 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Maatwebsite\Excel;
use Illuminate\Support\Collection; use Maatwebsite\Excel\Concerns\ToArray; use Maatwebsite\Excel\Concerns\ToCollection; use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\WithCalculatedFormulas; use Maatwebsite\Excel\Concerns\WithFormatData; use Maatwebsite\Excel\Concerns\WithMappedCells; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
class MappedReader { /** * @param WithMappedCells $import * @param Worksheet $worksheet * * @throws \PhpOffice\PhpSpreadsheet\Exception */ public function map(WithMappedCells $import, Worksheet $worksheet) { $mapped = []; foreach ($import->mapping() as $name => $coordinate) { $cell = Cell::make($worksheet, $coordinate);
$mapped[$name] = $cell->getValue( null, $import instanceof WithCalculatedFormulas, $import instanceof WithFormatData ); }
if ($import instanceof ToModel) { $model = $import->model($mapped);
if ($model) { $model->saveOrFail(); } }
if ($import instanceof ToCollection) { $import->collection(new Collection($mapped)); }
if ($import instanceof ToArray) { $import->array($mapped); } } }
|