8889841cfmi.clix.co.tz/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods/AutoFilters.php000064400000003640150536764460031004 0ustar00home/clixcotzobjWriter = $objWriter; $this->spreadsheet = $spreadsheet; } public function write(): void { $wrapperWritten = false; $sheetCount = $this->spreadsheet->getSheetCount(); for ($i = 0; $i < $sheetCount; ++$i) { $worksheet = $this->spreadsheet->getSheet($i); $autofilter = $worksheet->getAutoFilter(); if ($autofilter !== null && !empty($autofilter->getRange())) { if ($wrapperWritten === false) { $this->objWriter->startElement('table:database-ranges'); $wrapperWritten = true; } $this->objWriter->startElement('table:database-range'); $this->objWriter->writeAttribute('table:orientation', 'column'); $this->objWriter->writeAttribute('table:display-filter-buttons', 'true'); $this->objWriter->writeAttribute( 'table:target-range-address', $this->formatRange($worksheet, $autofilter) ); $this->objWriter->endElement(); } } if ($wrapperWritten === true) { $this->objWriter->endElement(); } } protected function formatRange(Worksheet $worksheet, Autofilter $autofilter): string { $title = $worksheet->getTitle(); $range = $autofilter->getRange(); return "'{$title}'.{$range}"; } }