![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/vendor/openspout/openspout/src/Writer/ODS/Manager/ |
<?php namespace OpenSpout\Writer\ODS\Manager; use OpenSpout\Writer\Common\Entity\Sheet; use OpenSpout\Writer\Common\Manager\WorkbookManagerAbstract; use OpenSpout\Writer\ODS\Helper\FileSystemHelper; use OpenSpout\Writer\ODS\Manager\Style\StyleManager; /** * ODS workbook manager, providing the interfaces to work with workbook. */ class WorkbookManager extends WorkbookManagerAbstract { /** * Maximum number of rows a ODS sheet can contain. * * @see https://ask.libreoffice.org/en/question/8631/upper-limit-to-number-of-rows-in-calc/ */ protected static $maxRowsPerWorksheet = 1048576; /** @var WorksheetManager Object used to manage worksheets */ protected $worksheetManager; /** @var FileSystemHelper Helper to perform file system operations */ protected $fileSystemHelper; /** @var StyleManager Manages styles */ protected $styleManager; /** * @return string The file path where the data for the given sheet will be stored */ public function getWorksheetFilePath(Sheet $sheet) { $sheetsContentTempFolder = $this->fileSystemHelper->getSheetsContentTempFolder(); return $sheetsContentTempFolder.'/sheet'.$sheet->getIndex().'.xml'; } /** * @return int Maximum number of rows/columns a sheet can contain */ protected function getMaxRowsPerWorksheet() { return self::$maxRowsPerWorksheet; } /** * Writes all the necessary files to disk and zip them together to create the final file. * * @param resource $finalFilePointer Pointer to the spreadsheet that will be created */ protected function writeAllFilesToDiskAndZipThem($finalFilePointer) { $worksheets = $this->getWorksheets(); $numWorksheets = \count($worksheets); $this->fileSystemHelper ->createContentFile($this->worksheetManager, $this->styleManager, $worksheets) ->deleteWorksheetTempFolder() ->createStylesFile($this->styleManager, $numWorksheets) ->zipRootFolderAndCopyToStream($finalFilePointer) ; } }