/** * 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); }
$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);
/** * 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(); }
/** * 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(); }
/** * 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; } }