Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Writer/Ods.php
public function save($pFilename)
    {
        if (!$this->spreadSheet) {
            throw new WriterException('PhpSpreadsheet object unassigned.');
        }

        // garbage collect
        $this->spreadSheet->garbageCollect();

        // If $pFilename is php://output or php://stdout, make it a temporary file...
        $originalFilename = $pFilename;
        if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') {
            $pFilename = @tempnam(File::sysGetTempDir(), 'phpxltmp');
            if ($pFilename == '') {
                $pFilename = $originalFilename;
            }
        }

        $zip = $this->createZip($pFilename);

        $zip->addFromString('META-INF/manifest.xml', $this->getWriterPart('meta_inf')->writeManifest());
        $zip->addFromString('Thumbnails/thumbnail.png', $this->getWriterPart('thumbnails')->writeThumbnail());
        $zip->addFromString('content.xml', $this->getWriterPart('content')->write());
        $zip->addFromString('meta.xml', $this->getWriterPart('meta')->write());
        $zip->addFromString('mimetype', $this->getWriterPart('mimetype')->write());
        $zip->addFromString('settings.xml', $this->getWriterPart('settings')->write());
        $zip->addFromString('styles.xml', $this->getWriterPart('styles')->write());

        // Close file
        if ($zip->close() === false) {
            throw new WriterException("Could not close zip file $pFilename.");
        }

        // If a temporary file was used, copy it to the correct file stream
        if ($originalFilename != $pFilename) {
            if (copy($pFilename, $originalFilename) === false) {
                throw new WriterException("Could not copy temporary zip file $pFilename to $originalFilename.");
            }
            @unlink($pFilename);
        }
    }
public function save($pFilename)
    {
        if (!$this->spreadSheet) {
            throw new WriterException('PhpSpreadsheet object unassigned.');
        }

        // garbage collect
        $this->spreadSheet->garbageCollect();

        // If $pFilename is php://output or php://stdout, make it a temporary file...
        $originalFilename = $pFilename;
        if (strtolower($pFilename) == 'php://output' || strtolower($pFilename) == 'php://stdout') {
            $pFilename = @tempnam(File::sysGetTempDir(), 'phpxltmp');
            if ($pFilename == '') {
                $pFilename = $originalFilename;
            }
        }

        $zip = $this->createZip($pFilename);

        $zip->addFromString('META-INF/manifest.xml', $this->getWriterPart('meta_inf')->writeManifest());
        $zip->addFromString('Thumbnails/thumbnail.png', $this->getWriterPart('thumbnails')->writeThumbnail());
        $zip->addFromString('content.xml', $this->getWriterPart('content')->write());
        $zip->addFromString('meta.xml', $this->getWriterPart('meta')->write());
        $zip->addFromString('mimetype', $this->getWriterPart('mimetype')->write());
        $zip->addFromString('settings.xml', $this->getWriterPart('settings')->write());
        $zip->addFromString('styles.xml', $this->getWriterPart('styles')->write());

        // Close file
        if ($zip->close() === false) {
            throw new WriterException("Could not close zip file $pFilename.");
        }

        // If a temporary file was used, copy it to the correct file stream
        if ($originalFilename != $pFilename) {
            if (copy($pFilename, $originalFilename) === false) {
                throw new WriterException("Could not copy temporary zip file $pFilename to $originalFilename.");
            }
            @unlink($pFilename);
        }
    }
public function save ( $ pFilename ) { if ( ! $ this -> spreadSheet ) { throw new WriterException ( 'PhpSpreadsheet object unassigned.' ) ; } // garbage collect $ this -> spreadSheet -> garbageCollect ( ) ; // If $pFilename is php://output or php://stdout, make it a temporary file... $ originalFilename = $ pFilename ; if ( strtolower ( $ pFilename ) == 'php://output' || strtolower ( $ pFilename ) == 'php://stdout' ) { $ pFilename = @ tempnam ( File :: sysGetTempDir ( ) , 'phpxltmp' ) ; if ( $ pFilename == '' ) { $ pFilename = $ originalFilename ; } } $ zip = $ this -> createZip ( $ pFilename ) ; $ zip -> addFromString ( 'META-INF/manifest.xml' , $ this -> getWriterPart ( 'meta_inf' ) -> writeManifest ( ) ) ; $ zip -> addFromString ( 'Thumbnails/thumbnail.png' , $ this -> getWriterPart ( 'thumbnails' ) -> writeThumbnail ( ) ) ; $ zip -> addFromString ( 'content.xml' , $ this -> getWriterPart ( 'content' ) -> write ( ) ) ; $ zip -> addFromString ( 'meta.xml' , $ this -> getWriterPart ( 'meta' ) -> write ( ) ) ; $ zip -> addFromString ( 'mimetype' , $ this -> getWriterPart ( 'mimetype' ) -> write ( ) ) ; $ zip -> addFromString ( 'settings.xml' , $ this -> getWriterPart ( 'settings' ) -> write ( ) ) ; $ zip -> addFromString ( 'styles.xml' , $ this -> getWriterPart ( 'styles' ) -> write ( ) ) ; // Close file if ( $ zip -> close ( ) === false ) { throw new WriterException ( "Could not close zip file $pFilename." ) ; } // If a temporary file was used, copy it to the correct file stream if ( $ originalFilename != $ pFilename ) { if ( copy ( $ pFilename , $ originalFilename ) === false ) { throw new WriterException ( "Could not copy temporary zip file $pFilename to $originalFilename." ) ; } @ unlink ( $ pFilename ) ; } }
Save PhpSpreadsheet to file.

@param string $pFilename

@throws WriterException
Save PhpSpreadsheet to file .