Example #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);
 }
Example #2
0
        $splicedRecordData = $this->_getSplicedRecordData();
        $recordData = $splicedRecordData['recordData'];
        $this->_drawingData .= $recordData;
    }
    /**
	 * Read OBJ record
	 */
    private function _readObj()
    {
        $length = self::_GetInt2d($this->_data, $this->_pos + 2);
        $recordData = substr($this->_data, $this->_pos + 4, $length);
        // move stream pointer to next record
        $this->_pos += 4 + $length;
        if ($this->_readDataOnly || $this->_version != self::XLS_BIFF8) {
            return;
        }
        // recordData consists of an array of subrecords looking like this:
        //	ft: 2 bytes; ftCmo type (0x15)
        //	cb: 2 bytes; size in bytes of ftCmo data
        //	ot: 2 bytes; Object Type
        //	id: 2 bytes; Object id number
        //	grbit: 2 bytes; Option Flags
        //	data: var; subrecord data
        // for now, we are just interested in the second subrecord containing the object type
        $ftCmoType = self::_GetInt2d($recordData, 0);
        $cbCmoSize = self::_GetInt2d($recordData, 2);
        $otObjType = self::_GetInt2d($recordData, 4);
        $idObjID = self::_GetInt2d($recordData, 6);
        $grbitOpts = self::_GetInt2d($recordData, 6);
Example #3
0
 /**
  * Write SheetPr
  *
  * @param	PHPExcel_Shared_XMLWriter		$objWriter		XML Writer
  * @param	PHPExcel_Worksheet				$pSheet			Worksheet
  * @throws	Exception
  */
 private function _writeSheetPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_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();
 }
Example #4
0
 /**
  * Write SheetPr
  *
  * @param	PHPExcel_Shared_XMLWriter		$objWriter		XML Writer
  * @param	PHPExcel_Worksheet				$pSheet			Worksheet
  * @throws	PHPExcel_Writer_Exception
  */
 private function _writeSheetPr(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null)
 {
     // sheetPr
     $objWriter->startElement('sheetPr');
     //$objWriter->writeAttribute('codeName',		$pSheet->getTitle());
     if ($pSheet->getParent()->hasMacros()) {
         //if the workbook have macros, we need to have codeName for the sheet
         if ($pSheet->hasCodeName() == false) {
             $pSheet->setCodeName($pSheet->getTitle());
         }
         $objWriter->writeAttribute('codeName', $pSheet->getCodeName());
     }
     $autoFilterRange = $pSheet->getAutoFilter()->getRange();
     if (!empty($autoFilterRange)) {
         $objWriter->writeAttribute('filterMode', 1);
         $pSheet->getAutoFilter()->showHideRows();
     }
     // 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();
 }
Example #5
0
	/**
	 * Write SHEETLAYOUT record
	 */
	private function _writeSheetLayout() {
		if (! $this->_phpSheet->isTabColorSet ()) {
			return;
		}
		
		$recordData = pack ( 'vvVVVvv', 0x0862, 0x0000, 		// unused
		0x00000000, 		// unused
		0x00000000, 		// unused
		0x00000014, 		// size of record data
		$this->_colors [$this->_phpSheet->getTabColor ()->getRGB ()], 		// color index
		0x0000 )		// unused
		;
		
		$length = strlen ( $recordData );
		
		$record = 0x0862; // Record identifier
		$header = pack ( 'vv', $record, $length );
		$this->_append ( $header . $recordData );
	}
/**
 * Set the properties of a worksheet
 *
 * @param PHPExcel_Worksheet $worksheet
 * @param string $WSKind kind of worksheet
 * @param array $DProps array with the document properties
 * @param string $thisDate timestamp of the execution of the script
 */
function setWorksheetProperties($worksheet, $wsKind, $DProps, $thisDate)
{
    $worksheet->SetTitle($wsKind . ' ' . $thisDate);
    $worksheet->getTabColor()->setRGB($DProps[$wsKind]['FillColor']);
    // Set the printout options
    switch ($DProps[$wsKind]['PageSize']) {
        case 'A4':
            $page_size = PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4;
            break;
        case 'A3':
            $page_size = PHPExcel_Worksheet_PageSetup::PAPERSIZE_A3;
            break;
        case 'Letter':
            $page_size = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LETTER;
            break;
        case 'Legal':
            $page_size = PHPExcel_Worksheet_PageSetup::PAPERSIZE_LEGAL;
            break;
        default:
            $page_size = PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4;
            break;
    }
    // Set orientation, fit to page width, paper size and page number to 1
    $worksheet->getPageSetup()->setOrientation($DProps[$wsKind]['Orientation'])->setFitToPage(true)->setFitToWidth(1)->setFitToHeight(0)->setPaperSize($page_size)->setFirstPageNumber(1);
    // Set title of header and page number footer for printout
    $worksheet->getHeaderFooter()->setOddHeader($DProps[$wsKind]['Title'])->setEvenHeader($DProps[$wsKind]['Title'])->setOddFooter('&RPage &P of &N')->setEvenFooter('&RPage &P of &N');
    // Set repeating header for most worksheets on the printout
    switch ($wsKind) {
        case 'Front Page':
            break;
        case 'DC Stats':
        case 'Rack Inventory':
        case 'DC Inventory':
            $worksheet->getPageSetup()->setRowsToRepeatAtTopByStartAndEnd(1, 1);
            break;
    }
}