Exemplo n.º 1
0
 /**
  * Get hash code
  *
  * @return string Hash code
  */
 public function getHashCode()
 {
     $hashConditionals = '';
     foreach ($this->conditionalStyles as $conditional) {
         $hashConditionals .= $conditional->getHashCode();
     }
     return md5($this->fill->getHashCode() . $this->font->getHashCode() . $this->borders->getHashCode() . $this->alignment->getHashCode() . $this->numberFormat->getHashCode() . $hashConditionals . $this->protection->getHashCode() . ($this->quotePrefix ? 't' : 'f') . __CLASS__);
 }
Exemplo n.º 2
0
 /**
  * Get hash code
  *
  * @return string	Hash code
  */
 public function getHashCode()
 {
     $hashConditionals = '';
     foreach ($this->_conditionalStyles as $conditional) {
         $hashConditionals .= $conditional->getHashCode();
     }
     return md5($this->_fill->getHashCode() . $this->_font->getHashCode() . $this->_borders->getHashCode() . $this->_alignment->getHashCode() . $this->_numberFormat->getHashCode() . $hashConditionals . $this->_protection->getHashCode() . __CLASS__);
 }
Exemplo n.º 3
0
 /**
  * Create a new PHPExcel_Style
  *
  * @param boolean $isSupervisor
  */
 public function __construct($isSupervisor = false)
 {
     // Supervisor?
     $this->_isSupervisor = $isSupervisor;
     // Initialise values
     $this->_conditionalStyles = array();
     $this->_font = new PHPExcel_Style_Font($isSupervisor);
     $this->_fill = new PHPExcel_Style_Fill($isSupervisor);
     $this->_borders = new PHPExcel_Style_Borders($isSupervisor);
     $this->_alignment = new PHPExcel_Style_Alignment($isSupervisor);
     $this->_numberFormat = new PHPExcel_Style_NumberFormat($isSupervisor);
     $this->_protection = new PHPExcel_Style_Protection($isSupervisor);
     // bind parent if we are a supervisor
     if ($isSupervisor) {
         $this->_font->bindParent($this);
         $this->_fill->bindParent($this);
         $this->_borders->bindParent($this);
         $this->_alignment->bindParent($this);
         $this->_numberFormat->bindParent($this);
         $this->_protection->bindParent($this);
     }
 }
Exemplo n.º 4
0
 /**
  * Create CSS style (PHPExcel_Style_Fill)
  *
  * @param	PHPExcel_Style_Fill		$pStyle			PHPExcel_Style_Fill
  * @return	array
  */
 private function _createCSSStyleFill(PHPExcel_Style_Fill $pStyle)
 {
     // Construct HTML
     $css = array();
     // Create CSS
     $value = $pStyle->getFillType() == PHPExcel_Style_Fill::FILL_NONE ? 'white' : '#' . $pStyle->getStartColor()->getRGB();
     $css['background-color'] = $value;
     // Return
     return $css;
 }
Exemplo n.º 5
0
 /**
  * Get an array of all fills
  *
  * @param 	PHPExcel						$pPHPExcel
  * @return 	PHPExcel_Style_Fill[]		All fills in PHPExcel
  * @throws 	Exception
  */
 public function allFills(PHPExcel $pPHPExcel = null)
 {
     // Get an array of unique fills
     $aFills = array();
     // Two first fills are predefined
     $fill0 = new PHPExcel_Style_Fill();
     $fill0->setFillType(PHPExcel_Style_Fill::FILL_NONE);
     $aFills[] = $fill0;
     $fill1 = new PHPExcel_Style_Fill();
     $fill1->setFillType(PHPExcel_Style_Fill::FILL_PATTERN_GRAY125);
     $aFills[] = $fill1;
     // The remaining fills
     $aStyles = $this->allStyles($pPHPExcel);
     foreach ($aStyles as $style) {
         if (!array_key_exists($style->getFill()->getHashCode(), $aFills)) {
             $aFills[$style->getFill()->getHashCode()] = $style->getFill();
         }
     }
     return $aFills;
 }
Exemplo n.º 6
0
 /**
  * Get Fill
  *
  * @return PHPExcel_Style_Fill
  */
 public function getFill()
 {
     if (isset($this->_fill)) {
         return $this->_fill;
     }
     $property = new PHPExcel_Style_Fill();
     $property->propertyPrepareBind($this, "_fill");
     return $property;
 }
Exemplo n.º 7
0
 /**
  * Write Pattern Fill
  *
  * @param 	PHPExcel_Shared_XMLWriter			$objWriter 		XML Writer
  * @param 	PHPExcel_Style_Fill					$pFill			Fill style
  * @throws 	Exception
  */
 private function _writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null)
 {
     // fill
     $objWriter->startElement('fill');
     // patternFill
     $objWriter->startElement('patternFill');
     $objWriter->writeAttribute('patternType', $pFill->getFillType());
     // fgColor
     $objWriter->startElement('fgColor');
     $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB());
     $objWriter->endElement();
     // bgColor
     $objWriter->startElement('bgColor');
     $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB());
     $objWriter->endElement();
     $objWriter->endElement();
     $objWriter->endElement();
 }
Exemplo n.º 8
0
 /**
  * Create CSS style (PHPExcel_Style_Fill)
  * 
  * @param	PHPExcel_Style_Fill		$pStyle			PHPExcel_Style_Fill
  * @return	string
  */
 private function _createCSSStyleFill(PHPExcel_Style_Fill $pStyle)
 {
     // Construct HTML
     $html = '';
     // Create CSS
     $html .= '        background-color: ' . '#' . $pStyle->getStartColor()->getRGB() . ';' . "\r\n";
     // Return
     return $html;
 }
Exemplo n.º 9
0
 /**
  * Write Pattern Fill
  *
  * @param 	PHPExcel_Shared_XMLWriter			$objWriter 		XML Writer
  * @param 	PHPExcel_Style_Fill					$pFill			Fill style
  * @throws 	Exception
  */
 private function _writePatternFill(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Style_Fill $pFill = null)
 {
     // fill
     $objWriter->startElement('fill');
     // patternFill
     $objWriter->startElement('patternFill');
     $objWriter->writeAttribute('patternType', $pFill->getFillType());
     // If no fill is selected, there is no need for color information
     if ($pFill->getFillType() != 'none') {
         // fgColor
         $objWriter->startElement('fgColor');
         $objWriter->writeAttribute('rgb', $pFill->getStartColor()->getARGB());
         $objWriter->endElement();
         // bgColor
         $objWriter->startElement('bgColor');
         $objWriter->writeAttribute('rgb', $pFill->getEndColor()->getARGB());
         $objWriter->endElement();
     }
     $objWriter->endElement();
     $objWriter->endElement();
 }