You are here

private function PHPExcel_Writer_Excel2007_Worksheet::_writeConditionalFormatting in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php \PHPExcel_Writer_Excel2007_Worksheet::_writeConditionalFormatting()

* Write ConditionalFormatting * *

Parameters

PHPExcel_Shared_XMLWriter $objWriter XML Writer: * @param PHPExcel_Worksheet $pSheet Worksheet * @throws PHPExcel_Writer_Exception

1 call to PHPExcel_Writer_Excel2007_Worksheet::_writeConditionalFormatting()
PHPExcel_Writer_Excel2007_Worksheet::writeWorksheet in vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php
* Write worksheet to XML format * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Worksheet.php, line 467

Class

PHPExcel_Writer_Excel2007_Worksheet
PHPExcel_Writer_Excel2007_Worksheet

Code

private function _writeConditionalFormatting(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null) {

  // Conditional id
  $id = 1;

  // Loop through styles in the current worksheet
  foreach ($pSheet
    ->getConditionalStylesCollection() as $cellCoordinate => $conditionalStyles) {
    foreach ($conditionalStyles as $conditional) {

      // WHY was this again?
      // if ($this->getParentWriter()->getStylesConditionalHashTable()->getIndexForHashCode( $conditional->getHashCode() ) == '') {
      //	continue;
      // }
      if ($conditional
        ->getConditionType() != PHPExcel_Style_Conditional::CONDITION_NONE) {

        // conditionalFormatting
        $objWriter
          ->startElement('conditionalFormatting');
        $objWriter
          ->writeAttribute('sqref', $cellCoordinate);

        // cfRule
        $objWriter
          ->startElement('cfRule');
        $objWriter
          ->writeAttribute('type', $conditional
          ->getConditionType());
        $objWriter
          ->writeAttribute('dxfId', $this
          ->getParentWriter()
          ->getStylesConditionalHashTable()
          ->getIndexForHashCode($conditional
          ->getHashCode()));
        $objWriter
          ->writeAttribute('priority', $id++);
        if (($conditional
          ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS || $conditional
          ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT) && $conditional
          ->getOperatorType() != PHPExcel_Style_Conditional::OPERATOR_NONE) {
          $objWriter
            ->writeAttribute('operator', $conditional
            ->getOperatorType());
        }
        if ($conditional
          ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT && !is_null($conditional
          ->getText())) {
          $objWriter
            ->writeAttribute('text', $conditional
            ->getText());
        }
        if ($conditional
          ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT && $conditional
          ->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_CONTAINSTEXT && !is_null($conditional
          ->getText())) {
          $objWriter
            ->writeElement('formula', 'NOT(ISERROR(SEARCH("' . $conditional
            ->getText() . '",' . $cellCoordinate . ')))');
        }
        else {
          if ($conditional
            ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT && $conditional
            ->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_BEGINSWITH && !is_null($conditional
            ->getText())) {
            $objWriter
              ->writeElement('formula', 'LEFT(' . $cellCoordinate . ',' . strlen($conditional
              ->getText()) . ')="' . $conditional
              ->getText() . '"');
          }
          else {
            if ($conditional
              ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT && $conditional
              ->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_ENDSWITH && !is_null($conditional
              ->getText())) {
              $objWriter
                ->writeElement('formula', 'RIGHT(' . $cellCoordinate . ',' . strlen($conditional
                ->getText()) . ')="' . $conditional
                ->getText() . '"');
            }
            else {
              if ($conditional
                ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT && $conditional
                ->getOperatorType() == PHPExcel_Style_Conditional::OPERATOR_NOTCONTAINS && !is_null($conditional
                ->getText())) {
                $objWriter
                  ->writeElement('formula', 'ISERROR(SEARCH("' . $conditional
                  ->getText() . '",' . $cellCoordinate . '))');
              }
              else {
                if ($conditional
                  ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CELLIS || $conditional
                  ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_CONTAINSTEXT || $conditional
                  ->getConditionType() == PHPExcel_Style_Conditional::CONDITION_EXPRESSION) {
                  foreach ($conditional
                    ->getConditions() as $formula) {

                    // Formula
                    $objWriter
                      ->writeElement('formula', $formula);
                  }
                }
              }
            }
          }
        }
        $objWriter
          ->endElement();
        $objWriter
          ->endElement();
      }
    }
  }
}