����JFIF��x�x����'
Server IP : 66.29.137.217 / Your IP : 18.222.253.97 Web Server : LiteSpeed System : Linux premium294.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64 User : gltevjme ( 1095) PHP Version : 7.0.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/gltevjme/./cbt.gltechlimited.com/vendor/maatwebsite/excel/src/Imports/ |
Upload File : |
<?php namespace Maatwebsite\Excel\Imports; use Maatwebsite\Excel\Concerns\SkipsEmptyRows; use Maatwebsite\Excel\Concerns\ToModel; use Maatwebsite\Excel\Concerns\WithBatchInserts; use Maatwebsite\Excel\Concerns\WithCalculatedFormulas; use Maatwebsite\Excel\Concerns\WithColumnLimit; use Maatwebsite\Excel\Concerns\WithMapping; use Maatwebsite\Excel\Concerns\WithProgressBar; use Maatwebsite\Excel\Concerns\WithValidation; use Maatwebsite\Excel\Row; use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet; class ModelImporter { /** * @var ModelManager */ private $manager; /** * @param ModelManager $manager */ public function __construct(ModelManager $manager) { $this->manager = $manager; } /** * @param Worksheet $worksheet * @param ToModel $import * @param int|null $startRow * @param string|null $endColumn * * @throws \Maatwebsite\Excel\Validators\ValidationException */ public function import(Worksheet $worksheet, ToModel $import, int $startRow = 1) { if ($startRow > $worksheet->getHighestRow()) { return; } $headingRow = HeadingRowExtractor::extract($worksheet, $import); $batchSize = $import instanceof WithBatchInserts ? $import->batchSize() : 1; $endRow = EndRowFinder::find($import, $startRow, $worksheet->getHighestRow()); $progessBar = $import instanceof WithProgressBar; $withMapping = $import instanceof WithMapping; $withCalcFormulas = $import instanceof WithCalculatedFormulas; $withValidation = $import instanceof WithValidation && method_exists($import, 'prepareForValidation'); $endColumn = $import instanceof WithColumnLimit ? $import->endColumn() : null; $this->manager->setRemembersRowNumber(method_exists($import, 'rememberRowNumber')); $i = 0; foreach ($worksheet->getRowIterator($startRow, $endRow) as $spreadSheetRow) { $i++; $row = new Row($spreadSheetRow, $headingRow); if (!$import instanceof SkipsEmptyRows || ($import instanceof SkipsEmptyRows && !$row->isEmpty())) { $rowArray = $row->toArray(null, $withCalcFormulas, true, $endColumn); if ($withValidation) { $rowArray = $import->prepareForValidation($rowArray, $row->getIndex()); } if ($withMapping) { $rowArray = $import->map($rowArray); } $this->manager->add( $row->getIndex(), $rowArray ); // Flush each batch. if (($i % $batchSize) === 0) { $this->manager->flush($import, $batchSize > 1); $i = 0; if ($progessBar) { $import->getConsoleOutput()->progressAdvance($batchSize); } } } } // Flush left-overs. $this->manager->flush($import, $batchSize > 1); } }