Example #1
0
 /**
  * Write the WSBOOL BIFF record, mainly for fit-to-page. Used in conjunction
  * with the SETUP record.
  */
 private function writeWsbool()
 {
     $record = 0x81;
     // Record identifier
     $length = 0x2;
     // Bytes to follow
     $grbit = 0x0;
     // The only option that is of interest is the flag for fit to page. So we
     // set all the options in one go.
     //
     // Set the option flags
     $grbit |= 0x1;
     // Auto page breaks visible
     if ($this->outlineStyle) {
         $grbit |= 0x20;
         // Auto outline styles
     }
     if ($this->phpSheet->getShowSummaryBelow()) {
         $grbit |= 0x40;
         // Outline summary below
     }
     if ($this->phpSheet->getShowSummaryRight()) {
         $grbit |= 0x80;
         // Outline summary right
     }
     if ($this->phpSheet->getPageSetup()->getFitToPage()) {
         $grbit |= 0x100;
         // Page setup fit to page
     }
     if ($this->outlineOn) {
         $grbit |= 0x400;
         // Outline symbols displayed
     }
     $header = pack("vv", $record, $length);
     $data = pack("v", $grbit);
     $this->append($header . $data);
 }
Example #2
0
 /**
  * Write Defined Name for PrintTitles
  *
  * @param     \PHPExcel\Shared\XMLWriter    $objWriter         XML Writer
  * @param     \PHPExcel\Worksheet            $pSheet
  * @param     int                            $pSheetId
  * @throws     \PHPExcel\Writer\Exception
  */
 private function writeDefinedNameForPrintArea(\PHPExcel\Shared\XMLWriter $objWriter, \PHPExcel\Worksheet $pSheet = null, $pSheetId = 0)
 {
     // definedName for PrintArea
     if ($pSheet->getPageSetup()->isPrintAreaSet()) {
         $objWriter->startElement('definedName');
         $objWriter->writeAttribute('name', '_xlnm.Print_Area');
         $objWriter->writeAttribute('localSheetId', $pSheetId);
         // Setting string
         $settingString = '';
         // Print area
         $printArea = \PHPExcel\Cell::splitRange($pSheet->getPageSetup()->getPrintArea());
         $chunks = array();
         foreach ($printArea as $printAreaRect) {
             $printAreaRect[0] = \PHPExcel\Cell::absoluteReference($printAreaRect[0]);
             $printAreaRect[1] = \PHPExcel\Cell::absoluteReference($printAreaRect[1]);
             $chunks[] = '\'' . str_replace("'", "''", $pSheet->getTitle()) . '\'!' . implode(':', $printAreaRect);
         }
         $objWriter->writeRawData(implode(',', $chunks));
         $objWriter->endElement();
     }
 }
Example #3
0
 /**
  * Write PageSetup
  *
  * @param    \PHPExcel\Shared\XMLWriter            $objWriter        XML Writer
  * @param    \PHPExcel\Worksheet                    $pSheet            Worksheet
  * @throws    \PHPExcel\Writer\Exception
  */
 private function writePageSetup(\PHPExcel\Shared\XMLWriter $objWriter = null, \PHPExcel\Worksheet $pSheet = null)
 {
     // pageSetup
     $objWriter->startElement('pageSetup');
     $objWriter->writeAttribute('paperSize', $pSheet->getPageSetup()->getPaperSize());
     $objWriter->writeAttribute('orientation', $pSheet->getPageSetup()->getOrientation());
     if (!is_null($pSheet->getPageSetup()->getScale())) {
         $objWriter->writeAttribute('scale', $pSheet->getPageSetup()->getScale());
     }
     if (!is_null($pSheet->getPageSetup()->getFitToHeight())) {
         $objWriter->writeAttribute('fitToHeight', $pSheet->getPageSetup()->getFitToHeight());
     } else {
         $objWriter->writeAttribute('fitToHeight', '0');
     }
     if (!is_null($pSheet->getPageSetup()->getFitToWidth())) {
         $objWriter->writeAttribute('fitToWidth', $pSheet->getPageSetup()->getFitToWidth());
     } else {
         $objWriter->writeAttribute('fitToWidth', '0');
     }
     if (!is_null($pSheet->getPageSetup()->getFirstPageNumber())) {
         $objWriter->writeAttribute('firstPageNumber', $pSheet->getPageSetup()->getFirstPageNumber());
         $objWriter->writeAttribute('useFirstPageNumber', '1');
     }
     $objWriter->endElement();
 }