readFilter = new DefaultReadFilter(); } public function getReadDataOnly() { return $this->readDataOnly; } public function setReadDataOnly($readCellValuesOnly) { $this->readDataOnly = (bool) $readCellValuesOnly; return $this; } public function getReadEmptyCells() { return $this->readEmptyCells; } public function setReadEmptyCells($readEmptyCells) { $this->readEmptyCells = (bool) $readEmptyCells; return $this; } public function getIncludeCharts() { return $this->includeCharts; } public function setIncludeCharts($includeCharts) { $this->includeCharts = (bool) $includeCharts; return $this; } public function getLoadSheetsOnly() { return $this->loadSheetsOnly; } public function setLoadSheetsOnly($sheetList) { if ($sheetList === null) { return $this->setLoadAllSheets(); } $this->loadSheetsOnly = is_array($sheetList) ? $sheetList : [$sheetList]; return $this; } public function setLoadAllSheets() { $this->loadSheetsOnly = null; return $this; } public function getReadFilter() { return $this->readFilter; } public function setReadFilter(IReadFilter $readFilter) { $this->readFilter = $readFilter; return $this; } public function getSecurityScanner() { return $this->securityScanner; } protected function processFlags(int $flags): void { if (((bool) ($flags & self::LOAD_WITH_CHARTS)) === true) { $this->setIncludeCharts(true); } } protected function loadSpreadsheetFromFile(string $filename): Spreadsheet { throw new PhpSpreadsheetException('Reader classes must implement their own loadSpreadsheetFromFile() method'); } /** * Loads Spreadsheet from file. * * @param int $flags the optional second parameter flags may be used to identify specific elements * that should be loaded, but which won't be loaded by default, using these values: * IReader::LOAD_WITH_CHARTS - Include any charts that are defined in the loaded file */ public function load(string $filename, int $flags = 0): Spreadsheet { $this->processFlags($flags); try { return $this->loadSpreadsheetFromFile($filename); } catch (ReaderException $e) { throw $e; } } /** * Open file for reading. */ protected function openFile(string $filename): void { $fileHandle = false; if ($filename) { File::assertFile($filename); // Open file $fileHandle = fopen($filename, 'rb'); } if ($fileHandle === false) { throw new ReaderException('Could not open file ' . $filename . ' for reading.'); } $this->fileHandle = $fileHandle; } }