Beispiel #1
0
 /**
  * Extracts style attributes from the "xf" nodes, inside the "cellXfs" section.
  * For simplicity, the styles attributes are kept in memory. This is possible thanks
  * to the reuse of styles. So 1 million cells should not use 1 million styles.
  *
  * @param \Box\Spout\Reader\Wrapper\XMLReader $xmlReader XML Reader positioned on the "cellXfs" node
  * @return void
  */
 protected function extractStyleAttributes($xmlReader)
 {
     while ($xmlReader->read()) {
         if ($xmlReader->isPositionedOnStartingNode(self::XML_NODE_XF)) {
             $numFmtId = $xmlReader->getAttribute(self::XML_ATTRIBUTE_NUM_FMT_ID);
             $normalizedNumFmtId = $numFmtId !== null ? intval($numFmtId) : null;
             $applyNumberFormat = $xmlReader->getAttribute(self::XML_ATTRIBUTE_APPLY_NUMBER_FORMAT);
             $normalizedApplyNumberFormat = $applyNumberFormat !== null ? !!$applyNumberFormat : null;
             $this->stylesAttributes[] = [self::XML_ATTRIBUTE_NUM_FMT_ID => $normalizedNumFmtId, self::XML_ATTRIBUTE_APPLY_NUMBER_FORMAT => $normalizedApplyNumberFormat];
         } else {
             if ($xmlReader->isPositionedOnEndingNode(self::XML_NODE_CELL_XFS)) {
                 // Once done reading "cellXfs" node's children
                 break;
             }
         }
     }
 }
Beispiel #2
0
 /**
  * Extracts style attributes from the "xf" nodes, inside the "cellXfs" section.
  * For simplicity, the styles attributes are kept in memory. This is possible thanks
  * to the reuse of styles. So 1 million cells should not use 1 million styles.
  *
  * @param \Box\Spout\Reader\Wrapper\XMLReader $xmlReader XML Reader positioned on the "cellXfs" node
  * @return void
  */
 protected function extractStyleAttributes($xmlReader)
 {
     while ($xmlReader->read()) {
         if ($xmlReader->isPositionedOnStartingNode(self::XML_NODE_XF)) {
             $this->stylesAttributes[] = [self::XML_ATTRIBUTE_NUM_FMT_ID => intval($xmlReader->getAttribute(self::XML_ATTRIBUTE_NUM_FMT_ID)), self::XML_ATTRIBUTE_APPLY_NUMBER_FORMAT => !!$xmlReader->getAttribute(self::XML_ATTRIBUTE_APPLY_NUMBER_FORMAT)];
         } else {
             if ($xmlReader->isPositionedOnEndingNode(self::XML_NODE_CELL_XFS)) {
                 // Once done reading "cellXfs" node's children
                 break;
             }
         }
     }
 }