Example #1
0
 /**
  * Write BIFF record Window2.
  */
 private function _writeWindow2()
 {
     $record = 0x23e;
     // Record identifier
     $length = 0x12;
     $grbit = 0xb6;
     // Option flags
     $rwTop = 0x0;
     // Top row visible in window
     $colLeft = 0x0;
     // Leftmost column visible in window
     // The options flags that comprise $grbit
     $fDspFmla = 0;
     // 0 - bit
     $fDspGrid = $this->_phpSheet->getShowGridlines() ? 1 : 0;
     // 1
     $fDspRwCol = $this->_phpSheet->getShowRowColHeaders() ? 1 : 0;
     // 2
     $fFrozen = $this->_phpSheet->getFreezePane() ? 1 : 0;
     // 3
     $fDspZeros = 1;
     // 4
     $fDefaultHdr = 1;
     // 5
     $fArabic = $this->_phpSheet->getRightToLeft() ? 1 : 0;
     // 6
     $fDspGuts = $this->_outline_on;
     // 7
     $fFrozenNoSplit = 0;
     // 0 - bit
     // no support in PHPExcel for selected sheet, therefore sheet is only selected if it is the active sheet
     $fSelected = $this->_phpSheet === $this->_phpSheet->getParent()->getActiveSheet() ? 1 : 0;
     $fPaged = 1;
     // 2
     $fPageBreakPreview = $this->_phpSheet->getSheetView()->getView() === PHPExcel_Worksheet_SheetView::SHEETVIEW_PAGE_BREAK_PREVIEW;
     $grbit = $fDspFmla;
     $grbit |= $fDspGrid << 1;
     $grbit |= $fDspRwCol << 2;
     $grbit |= $fFrozen << 3;
     $grbit |= $fDspZeros << 4;
     $grbit |= $fDefaultHdr << 5;
     $grbit |= $fArabic << 6;
     $grbit |= $fDspGuts << 7;
     $grbit |= $fFrozenNoSplit << 8;
     $grbit |= $fSelected << 9;
     $grbit |= $fPaged << 10;
     $grbit |= $fPageBreakPreview << 11;
     $header = pack("vv", $record, $length);
     $data = pack("vvv", $grbit, $rwTop, $colLeft);
     // FIXME !!!
     $rgbHdr = 0x40;
     // Row/column heading and gridline color index
     $zoom_factor_page_break = $fPageBreakPreview ? $this->_phpSheet->getSheetView()->getZoomScale() : 0x0;
     $zoom_factor_normal = $this->_phpSheet->getSheetView()->getZoomScaleNormal();
     $data .= pack("vvvvV", $rgbHdr, 0x0, $zoom_factor_page_break, $zoom_factor_normal, 0x0);
     $this->_append($header . $data);
 }
Example #2
0
 /**
  * Write PrintOptions
  *
  * @param	PHPExcel_Shared_XMLWriter			$objWriter		XML Writer
  * @param	PHPExcel_Worksheet					$pSheet			Worksheet
  * @throws	Exception
  */
 private function _writePrintOptions(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null)
 {
     // printOptions
     $objWriter->startElement('printOptions');
     $objWriter->writeAttribute('gridLines', $pSheet->getPrintGridlines() ? 'true' : 'false');
     $objWriter->writeAttribute('gridLinesSet', $pSheet->getShowGridlines() ? 'true' : 'false');
     if ($pSheet->getPageSetup()->getHorizontalCentered()) {
         $objWriter->writeAttribute('horizontalCentered', 'true');
     }
     if ($pSheet->getPageSetup()->getVerticalCentered()) {
         $objWriter->writeAttribute('verticalCentered', 'true');
     }
     $objWriter->endElement();
 }
Example #3
0
 /**
  * Write styles to file
  * 
  * @param	mixed				$pFileHandle	PHP filehandle
  * @param	PHPExcel_Worksheet 	$pSheet			PHPExcel_Worksheet
  * @throws	Exception
  */
 private function _writeStyles($pFileHandle = null, PHPExcel_Worksheet $pSheet)
 {
     if (!is_null($pFileHandle)) {
         // Construct HTML
         $html = '';
         // Start styles
         $html .= '    <style>' . "\r\n";
         $html .= '    <!--' . "\r\n";
         $html .= '      html {' . "\r\n";
         $html .= '        font-family: Calibri, Arial, Helvetica, Sans Serif;' . "\r\n";
         $html .= '        font-size: 10pt;' . "\r\n";
         $html .= '        background-color: white;' . "\r\n";
         $html .= '      }' . "\r\n";
         $html .= '      table.sheet, table.sheet td {' . "\r\n";
         if ($pSheet->getShowGridlines()) {
             $html .= '        border: 1px dotted black;' . "\r\n";
         }
         $html .= '      }' . "\r\n";
         // Calculate column widths
         $pSheet->calculateColumnWidths();
         foreach ($pSheet->getColumnDimensions() as $columnDimension) {
             $column = PHPExcel_Cell::columnIndexFromString($columnDimension->getColumnIndex()) - 1;
             $html .= '      td.column' . $column . ' {' . "\r\n";
             $html .= '        width: ' . PHPExcel_Shared_Drawing::cellDimensionToPixels($columnDimension->getWidth()) . 'px;' . "\r\n";
             if ($columnDimension->getVisible() === false) {
                 $html .= '        display: none;' . "\r\n";
                 $html .= '        visibility: hidden;' . "\r\n";
             }
             $html .= '      }' . "\r\n";
         }
         // Calculate row heights
         foreach ($pSheet->getRowDimensions() as $rowDimension) {
             $html .= '      tr.row' . ($rowDimension->getRowIndex() - 1) . ' {' . "\r\n";
             // height is disproportionately large
             $px_height = round(PHPExcel_Shared_Drawing::cellDimensionToPixels($rowDimension->getRowHeight()) / 12);
             $html .= '        height: ' . $px_height . 'px;' . "\r\n";
             if ($rowDimension->getVisible() === false) {
                 $html .= '        display: none;' . "\r\n";
                 $html .= '        visibility: hidden;' . "\r\n";
             }
             $html .= '      }' . "\r\n";
         }
         // Calculate cell style hashes
         $cellStyleHashes = new PHPExcel_HashTable();
         $cellStyleHashes->addFromSource($pSheet->getStyles());
         for ($i = 0; $i < $cellStyleHashes->count(); $i++) {
             $html .= $this->_createCSSStyle($cellStyleHashes->getByIndex($i));
         }
         // End styles
         $html .= '    -->' . "\r\n";
         $html .= '    </style>' . "\r\n";
         // Write to file
         fwrite($pFileHandle, $html);
     } else {
         throw new Exception("Invalid parameters passed.");
     }
 }
Example #4
0
 /**
  * Write BIFF record Window2.
  */
 private function _writeWindow2()
 {
     $record = 0x23e;
     // Record identifier
     if ($this->_BIFF_version == 0x500) {
         $length = 0xa;
         // Number of bytes to follow
     } elseif ($this->_BIFF_version == 0x600) {
         $length = 0x12;
     }
     $grbit = 0xb6;
     // Option flags
     $rwTop = 0x0;
     // Top row visible in window
     $colLeft = 0x0;
     // Leftmost column visible in window
     // The options flags that comprise $grbit
     $fDspFmla = 0;
     // 0 - bit
     $fDspGrid = $this->_phpSheet->getShowGridlines() ? 1 : 0;
     // 1
     $fDspRwCol = $this->_phpSheet->getShowRowColHeaders() ? 1 : 0;
     // 2
     $fFrozen = $this->_phpSheet->getFreezePane() ? 1 : 0;
     // 3
     $fDspZeros = 1;
     // 4
     $fDefaultHdr = 1;
     // 5
     $fArabic = $this->_phpSheet->getRightToLeft() ? 1 : 0;
     // 6
     $fDspGuts = $this->_outline_on;
     // 7
     $fFrozenNoSplit = 0;
     // 0 - bit
     // no support in PHPExcel for selected sheet, therefore sheet is only selected if it is the active sheet
     $fSelected = $this->_phpSheet === $this->_phpSheet->getParent()->getActiveSheet() ? 1 : 0;
     $fPaged = 1;
     // 2
     $grbit = $fDspFmla;
     $grbit |= $fDspGrid << 1;
     $grbit |= $fDspRwCol << 2;
     $grbit |= $fFrozen << 3;
     $grbit |= $fDspZeros << 4;
     $grbit |= $fDefaultHdr << 5;
     $grbit |= $fArabic << 6;
     $grbit |= $fDspGuts << 7;
     $grbit |= $fFrozenNoSplit << 8;
     $grbit |= $fSelected << 9;
     $grbit |= $fPaged << 10;
     $header = pack("vv", $record, $length);
     $data = pack("vvv", $grbit, $rwTop, $colLeft);
     // ---- !!!
     if ($this->_BIFF_version == 0x500) {
         $rgbHdr = 0x0;
         // Row/column heading and gridline color
         $data .= pack("V", $rgbHdr);
     } elseif ($this->_BIFF_version == 0x600) {
         $rgbHdr = 0x40;
         // Row/column heading and gridline color index
         $zoom_factor_page_break = 0x0;
         $zoom_factor_normal = 0x0;
         $data .= pack("vvvvV", $rgbHdr, 0x0, $zoom_factor_page_break, $zoom_factor_normal, 0x0);
     }
     $this->_append($header . $data);
 }
Example #5
0
 /**
  * Write PrintOptions
  *
  * @param 	PHPExcel_Shared_XMLWriter 			$objWriter 		XML Writer
  * @param 	PHPExcel_Worksheet					$pSheet			Worksheet
  * @throws 	Exception
  */
 private function _writePrintOptions(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null)
 {
     // printOptions
     $objWriter->startElement('printOptions');
     $objWriter->writeAttribute('gridLines', $pSheet->getShowGridlines() ? 'true' : 'false');
     $objWriter->writeAttribute('gridLinesSet', 'true');
     $objWriter->endElement();
 }