/home/techb158/ileadtechnology.com/SSM/vendor/maatwebsite/excel/src/Jobs
Edit: /home/techb158/ileadtechnology.com/SSM/vendor/maatwebsite/excel/src/Jobs/ReadChunk.php (3858B)
import = $import;
$this->reader = $reader;
$this->temporaryFile = $temporaryFile;
$this->sheetName = $sheetName;
$this->sheetImport = $sheetImport;
$this->startRow = $startRow;
$this->chunkSize = $chunkSize;
$this->timeout = $import->timeout ?? null;
$this->tries = $import->tries ?? null;
}
/**
* @param TransactionHandler $transaction
*
* @throws \Maatwebsite\Excel\Exceptions\SheetNotFoundException
* @throws \PhpOffice\PhpSpreadsheet\Reader\Exception
*/
public function handle(TransactionHandler $transaction)
{
if ($this->sheetImport instanceof WithCustomValueBinder) {
Cell::setValueBinder($this->sheetImport);
}
$headingRow = HeadingRowExtractor::headingRow($this->sheetImport);
$filter = new ChunkReadFilter(
$headingRow,
$this->startRow,
$this->chunkSize,
$this->sheetName
);
$this->reader->setReadFilter($filter);
$this->reader->setReadDataOnly(true);
$this->reader->setReadEmptyCells(false);
$spreadsheet = $this->reader->load(
$this->temporaryFile->sync()->getLocalPath()
);
$sheet = Sheet::byName(
$spreadsheet,
$this->sheetName
);
if ($sheet->getHighestRow() < $this->startRow) {
$sheet->disconnect();
return;
}
$transaction(function () use ($sheet) {
$sheet->import(
$this->sheetImport,
$this->startRow
);
$sheet->disconnect();
});
}
/**
* @param Throwable $e
*/
public function failed(Throwable $e)
{
if ($this->import instanceof WithEvents) {
$this->registerListeners($this->import->registerEvents());
$this->raise(new ImportFailed($e));
if (method_exists($this->import, 'failed')) {
$this->import->failed($e);
}
}
}
}