Vendor/phpspreadsheet/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Gnumeric.php
public function listWorksheetNames($pFilename)
    {
        File::assertFile($pFilename);

        $xml = new XMLReader();
        $xml->xml($this->securityScanFile('compress.zlib://' . realpath($pFilename)), null, Settings::getLibXmlLoaderOptions());
        $xml->setParserProperty(2, true);

        $worksheetNames = [];
        while ($xml->read()) {
            if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) {
                $xml->read(); //    Move onto the value node
                $worksheetNames[] = (string) $xml->value;
            } elseif ($xml->name == 'gnm:Sheets') {
                //    break out of the loop once we've got our sheet names rather than parse the entire file
                break;
            }
        }

        return $worksheetNames;
    }
public function listWorksheetNames($pFilename)
    {
        File::assertFile($pFilename);

        $xml = new XMLReader();
        $xml->xml($this->securityScanFile('compress.zlib://' . realpath($pFilename)), null, Settings::getLibXmlLoaderOptions());
        $xml->setParserProperty(2, true);

        $worksheetNames = [];
        while ($xml->read()) {
            if ($xml->name == 'gnm:SheetName' && $xml->nodeType == XMLReader::ELEMENT) {
                $xml->read(); //    Move onto the value node
                $worksheetNames[] = (string) $xml->value;
            } elseif ($xml->name == 'gnm:Sheets') {
                //    break out of the loop once we've got our sheet names rather than parse the entire file
                break;
            }
        }

        return $worksheetNames;
    }
public function listWorksheetNames ( $ pFilename ) { File :: assertFile ( $ pFilename ) ; $ xml = new XMLReader ( ) ; $ xml -> xml ( $ this -> securityScanFile ( 'compress.zlib://' . realpath ( $ pFilename ) ) , null , Settings :: getLibXmlLoaderOptions ( ) ) ; $ xml -> setParserProperty ( 2 , true ) ; $ worksheetNames = [ ] ; while ( $ xml -> read ( ) ) { if ( $ xml -> name == 'gnm:SheetName' && $ xml -> nodeType == XMLReader :: ELEMENT ) { $ xml -> read ( ) ; //    Move onto the value node $ worksheetNames [ ] = ( string ) $ xml -> value ; } elseif ( $ xml -> name == 'gnm:Sheets' ) { //    break out of the loop once we've got our sheet names rather than parse the entire file break ; } } return $ worksheetNames ; }
Reads names of the worksheets from a file, without parsing the whole file to a Spreadsheet object.

@param string $pFilename

@return array
Reads names of the worksheets from a file without parsing the whole file to a Spreadsheet object .