Beispiel #1
0
 /**
  * Returns the shared strings unique count, as specified in <sst> tag.
  *
  * @param \Box\Spout\Reader\Wrapper\XMLReader $xmlReader XMLReader instance
  * @return int|null Number of unique shared strings in the sharedStrings.xml file
  * @throws \Box\Spout\Common\Exception\IOException If sharedStrings.xml is invalid and can't be read
  */
 protected function getSharedStringsUniqueCount($xmlReader)
 {
     $xmlReader->next('sst');
     // Iterate over the "sst" elements to get the actual "sst ELEMENT" (skips any DOCTYPE)
     while ($xmlReader->name === 'sst' && $xmlReader->nodeType !== XMLReader::ELEMENT) {
         $xmlReader->read();
     }
     $uniqueCount = $xmlReader->getAttribute('uniqueCount');
     // some software do not add the "uniqueCount" attribute but only use the "count" one
     // @see https://github.com/box/spout/issues/254
     if ($uniqueCount === null) {
         $uniqueCount = $xmlReader->getAttribute('count');
     }
     return $uniqueCount !== null ? intval($uniqueCount) : null;
 }
Beispiel #2
0
 /**
  * Returns the shared strings unique count, as specified in <sst> tag.
  *
  * @param \Box\Spout\Reader\Wrapper\XMLReader $xmlReader XMLReader instance
  * @return int Number of unique shared strings in the sharedStrings.xml file
  * @throws \Box\Spout\Common\Exception\IOException If sharedStrings.xml is invalid and can't be read
  */
 protected function getSharedStringsUniqueCount($xmlReader)
 {
     $xmlReader->next('sst');
     // Iterate over the "sst" elements to get the actual "sst ELEMENT" (skips any DOCTYPE)
     while ($xmlReader->name === 'sst' && $xmlReader->nodeType !== XMLReader::ELEMENT) {
         $xmlReader->read();
     }
     return intval($xmlReader->getAttribute('uniqueCount'));
 }