helperFactory = $helperFactory; } /** * @param resource $filePointer Pointer to the CSV file to read * @param OptionsManagerInterface $optionsManager * @param GlobalFunctionsHelper $globalFunctionsHelper * * @return SheetIterator */ public function createSheetIterator($filePointer, $optionsManager, $globalFunctionsHelper) { $rowIterator = $this->createRowIterator($filePointer, $optionsManager, $globalFunctionsHelper); $sheet = $this->createSheet($rowIterator); return new SheetIterator($sheet); } /** * @param Cell[] $cells * * @return Row */ public function createRow(array $cells = []) { return new Row($cells, null); } /** * @param mixed $cellValue * * @return Cell */ public function createCell($cellValue) { return new Cell($cellValue); } /** * @return Row */ public function createRowFromArray(array $cellValues = []) { $cells = array_map(function ($cellValue) { return $this->createCell($cellValue); }, $cellValues); return $this->createRow($cells); } /** * @param RowIterator $rowIterator * * @return Sheet */ private function createSheet($rowIterator) { return new Sheet($rowIterator); } /** * @param resource $filePointer Pointer to the CSV file to read * @param OptionsManagerInterface $optionsManager * @param GlobalFunctionsHelper $globalFunctionsHelper * * @return RowIterator */ private function createRowIterator($filePointer, $optionsManager, $globalFunctionsHelper) { $encodingHelper = $this->helperFactory->createEncodingHelper($globalFunctionsHelper); return new RowIterator($filePointer, $optionsManager, $encodingHelper, $this, $globalFunctionsHelper); } }