Exemple #1
0
 /**
  * Write SHEETLAYOUT record
  */
 private function _writeSheetLayout()
 {
     if (!$this->_phpSheet->isTabColorSet()) {
         return;
     }
     $recordData = pack('vvVVVvv', 0x862, 0x0, 0x0, 0x0, 0x14, $this->_colors[$this->_phpSheet->getTabColor()->getRGB()], 0x0);
     $length = strlen($recordData);
     $record = 0x862;
     // Record identifier
     $header = pack('vv', $record, $length);
     $this->_append($header . $recordData);
 }
Exemple #2
0
 /**
  * Read SHEETLAYOUT record. Stores sheet tab color information.
  */
 private function _readSheetLayout()
 {
     $length = $this->_GetInt2d($this->_data, $this->_pos + 2);
     $recordData = substr($this->_data, $this->_pos + 4, $length);
     // move stream pointer to next record
     $this->_pos += 4 + $length;
     // local pointer in record data
     $offset = 0;
     if (!$this->_readDataOnly) {
         // offset: 0; size: 2; repeated record identifier 0x0862
         // offset: 2; size: 10; not used
         // offset: 12; size: 4; size of record data
         // Excel 2003 uses size of 0x14 (documented), Excel 2007 uses size of 0x28 (not documented?)
         $sz = $this->_GetInt4d($recordData, 12);
         switch ($sz) {
             case 0x14:
                 // offset: 16; size: 2; color index for sheet tab
                 $colorIndex = $this->_GetInt2d($recordData, 16);
                 $color = $this->_readColor($colorIndex);
                 $this->_phpSheet->getTabColor()->setRGB($color['rgb']);
                 break;
             case 0x28:
                 // TODO: Investigate structure for .xls SHEETLAYOUT record as saved by MS Office Excel 2007
                 return;
                 break;
         }
     }
 }
Exemple #3
0
 /**
  * Write SheetPr
  *
  * @param	Shared_XMLWriter		$objWriter		XML Writer
  * @param	Worksheet				$pSheet			Worksheet
  * @throws	Exception
  */
 private function _writeSheetPr(Shared_XMLWriter $objWriter = null, Worksheet $pSheet = null)
 {
     // sheetPr
     $objWriter->startElement('sheetPr');
     //$objWriter->writeAttribute('codeName',		$pSheet->getTitle());
     // tabColor
     if ($pSheet->isTabColorSet()) {
         $objWriter->startElement('tabColor');
         $objWriter->writeAttribute('rgb', $pSheet->getTabColor()->getARGB());
         $objWriter->endElement();
     }
     // outlinePr
     $objWriter->startElement('outlinePr');
     $objWriter->writeAttribute('summaryBelow', $pSheet->getShowSummaryBelow() ? '1' : '0');
     $objWriter->writeAttribute('summaryRight', $pSheet->getShowSummaryRight() ? '1' : '0');
     $objWriter->endElement();
     // pageSetUpPr
     if ($pSheet->getPageSetup()->getFitToPage()) {
         $objWriter->startElement('pageSetUpPr');
         $objWriter->writeAttribute('fitToPage', '1');
         $objWriter->endElement();
     }
     $objWriter->endElement();
 }