/** * Gets the current worksheets and processes the desired ones into specific file outputs * @param array $workSheets The list of worksheets to process. The names must match exactly. * @param class $transformer * @param class $writer * @throws ExporterException */ public function processWorksheets($workSheets, $transformer, $writer) { foreach ($workSheets as $workSheetName) { $worksheet = $this->worksheetFeed->getByTitle($workSheetName); if (is_null($worksheet)) { throw new ExporterException("No worksheet called '{$workSheetName}' was found!"); } $listFeed = $worksheet->getListFeed(); $dataRows = $this->getRows($listFeed); $transformedDataRow = $transformer->transform($dataRows); $writer->write($transformedDataRow); } }