当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPExcel_Worksheet::getColumnDimensions方法代码示例

本文整理汇总了PHP中PHPExcel_Worksheet::getColumnDimensions方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_Worksheet::getColumnDimensions方法的具体用法?PHP PHPExcel_Worksheet::getColumnDimensions怎么用?PHP PHPExcel_Worksheet::getColumnDimensions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPExcel_Worksheet的用法示例。


在下文中一共展示了PHPExcel_Worksheet::getColumnDimensions方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: insertNewBefore


//.........这里部分代码省略.........
                     $pSheet->getCellByColumnAndRow($j, $i)->setXfIndex($xfIndex);
                     if ($conditionalStyles) {
                         $cloned = array();
                         foreach ($conditionalStyles as $conditionalStyle) {
                             $cloned[] = clone $conditionalStyle;
                         }
                         $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned);
                     }
                 }
             }
         }
     }
     if ($pNumRows > 0 && $beforeRow - 1 > 0) {
         for ($i = PHPExcel_Cell::columnIndexFromString($beforeColumn) - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
             // Style
             $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1);
             if ($pSheet->cellExists($coordinate)) {
                 $xfIndex = $pSheet->getCell($coordinate)->getXfIndex();
                 $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? $pSheet->getConditionalStyles($coordinate) : false;
                 for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) {
                     $pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex);
                     if ($conditionalStyles) {
                         $cloned = array();
                         foreach ($conditionalStyles as $conditionalStyle) {
                             $cloned[] = clone $conditionalStyle;
                         }
                         $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned);
                     }
                 }
             }
         }
     }
     // Update worksheet: column dimensions
     $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true);
     if (count($aColumnDimensions) > 0) {
         foreach ($aColumnDimensions as $objColumnDimension) {
             $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
             list($newReference) = PHPExcel_Cell::coordinateFromString($newReference);
             if ($objColumnDimension->getColumnIndex() != $newReference) {
                 $objColumnDimension->setColumnIndex($newReference);
             }
         }
         $pSheet->refreshColumnDimensions();
     }
     // Update worksheet: row dimensions
     $aRowDimensions = array_reverse($pSheet->getRowDimensions(), true);
     if (count($aRowDimensions) > 0) {
         foreach ($aRowDimensions as $objRowDimension) {
             $newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows);
             list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference);
             if ($objRowDimension->getRowIndex() != $newReference) {
                 $objRowDimension->setRowIndex($newReference);
             }
         }
         $pSheet->refreshRowDimensions();
         $copyDimension = $pSheet->getRowDimension($beforeRow - 1);
         for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; ++$i) {
             $newDimension = $pSheet->getRowDimension($i);
             $newDimension->setRowHeight($copyDimension->getRowHeight());
             $newDimension->setVisible($copyDimension->getVisible());
             $newDimension->setOutlineLevel($copyDimension->getOutlineLevel());
             $newDimension->setCollapsed($copyDimension->getCollapsed());
         }
     }
     // Update worksheet: breaks
     $aBreaks = array_reverse($pSheet->getBreaks(), true);
开发者ID:honj51,项目名称:taobaocrm,代码行数:67,代码来源:ReferenceHelper.php

示例2: _writeCols

 /**
  * Write Cols
  *
  * @param	PHPExcel_Shared_XMLWriter			$objWriter		XML Writer
  * @param	PHPExcel_Worksheet					$pSheet			Worksheet
  * @throws	Exception
  */
 private function _writeCols(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null)
 {
     // cols
     $objWriter->startElement('cols');
     // Check if there is at least one column dimension specified. If not, create one.
     if (count($pSheet->getColumnDimensions()) == 0) {
         $pSheet->getColumnDimension('A')->setWidth(10);
     }
     $pSheet->calculateColumnWidths();
     // Loop trough column dimensions
     foreach ($pSheet->getColumnDimensions() as $colDimension) {
         // col
         $objWriter->startElement('col');
         $objWriter->writeAttribute('min', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex()));
         $objWriter->writeAttribute('max', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex()));
         if ($colDimension->getWidth() < 0) {
             // No width set, apply default of 10
             $objWriter->writeAttribute('width', '10');
         } else {
             // Width set
             $objWriter->writeAttribute('width', PHPExcel_Shared_String::FormatNumber($colDimension->getWidth()));
         }
         // Column visibility
         if ($colDimension->getVisible() == false) {
             $objWriter->writeAttribute('hidden', 'true');
         }
         // Auto size?
         if ($colDimension->getAutoSize()) {
             $objWriter->writeAttribute('bestFit', 'true');
         } else {
             $objWriter->writeAttribute('customWidth', 'true');
         }
         // Collapsed
         if ($colDimension->getCollapsed() == true) {
             $objWriter->writeAttribute('collapsed', 'true');
         }
         // Outline level
         if ($colDimension->getOutlineLevel() > 0) {
             $objWriter->writeAttribute('outlineLevel', $colDimension->getOutlineLevel());
         }
         $objWriter->endElement();
     }
     $objWriter->endElement();
 }
开发者ID:abhinay100,项目名称:fengoffice_app,代码行数:51,代码来源:Worksheet.php

示例3: prepare

 protected function prepare(\PHPExcel_Worksheet $templateSheet)
 {
     $this->output = new \PHPExcel();
     $outputSheet = $this->output->getActiveSheet();
     $outputSheet->setTitle('Report');
     $this->templateSheet = $this->output->addExternalSheet($templateSheet);
     foreach ($this->templateSheet->getColumnDimensions() as $col => $columnDimension) {
         $outputSheet->getColumnDimension($col)->setWidth($columnDimension->getWidth());
     }
 }
开发者ID:mathielen,项目名称:report-write-engine,代码行数:10,代码来源:ExcelCanvasWriter.php

示例4: sizeCol

 /**
  * Get the width of a column in pixels. We use the relationship y = ceil(7x) where
  * x is the width in intrinsic Excel units (measuring width in number of normal characters)
  * This holds for Arial 10
  *
  * @param PHPExcel_Worksheet $sheet The sheet
  * @param integer $col The column
  * @return integer The width in pixels
  */
 public static function sizeCol($sheet, $col = 'A')
 {
     $columnDimensions = $sheet->getColumnDimensions();
     // first find the true column width in pixels (uncollapsed and unhidden)
     if (isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1) {
         // then we have column dimension with explicit width
         $columnDimension = $columnDimensions[$col];
         $width = $columnDimension->getWidth();
         $pixelWidth = (int) ceil(7 * $width);
         // here we assume Arial 10
     } else {
         if ($sheet->getDefaultColumnDimension()->getWidth() != -1) {
             // then we have default column dimension with explicit width
             $defaultColumnDimension = $sheet->getDefaultColumnDimension();
             $width = $defaultColumnDimension->getWidth();
             $pixelWidth = (int) ceil(7 * $width);
             // here we assume Arial 10
         } else {
             $pixelWidth = 64;
             // here we assume Arial 10
         }
     }
     // now find the effective column width in pixels
     if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) {
         $effectivePixelWidth = 0;
     } else {
         $effectivePixelWidth = $pixelWidth;
     }
     return $effectivePixelWidth;
 }
开发者ID:roelvanduijnhoven,项目名称:muzieklijstjes,代码行数:39,代码来源:Excel5.php

示例5: sizeCol

 /**
  * Get the width of a column in pixels. We use the relationship y = ceil(7x) where
  * x is the width in intrinsic Excel units (measuring width in number of normal characters)
  * This holds for Arial 10
  *
  * @param PHPExcel_Worksheet $sheet The sheet
  * @param string $col The column
  * @return integer The width in pixels
  */
 public static function sizeCol($sheet, $col = 'A')
 {
     // default font of the workbook
     $font = $sheet->getParent()->getDefaultStyle()->getFont();
     $columnDimensions = $sheet->getColumnDimensions();
     // first find the true column width in pixels (uncollapsed and unhidden)
     if (isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1) {
         // then we have column dimension with explicit width
         $columnDimension = $columnDimensions[$col];
         $width = $columnDimension->getWidth();
         $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font);
     } else {
         if ($sheet->getDefaultColumnDimension()->getWidth() != -1) {
             // then we have default column dimension with explicit width
             $defaultColumnDimension = $sheet->getDefaultColumnDimension();
             $width = $defaultColumnDimension->getWidth();
             $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $font);
         } else {
             // we don't even have any default column dimension. Width depends on default font
             $pixelWidth = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($font, true);
         }
     }
     // now find the effective column width in pixels
     if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) {
         $effectivePixelWidth = 0;
     } else {
         $effectivePixelWidth = $pixelWidth;
     }
     return $effectivePixelWidth;
 }
开发者ID:mehulsbhatt,项目名称:sale_purchase_tracking,代码行数:39,代码来源:Excel5.php

示例6: sizeCol

 /**
  * Get the width of a column in pixels. We use the relationship y = ceil(7x) where
  * x is the width in intrinsic Excel units (measuring width in number of normal characters)
  * This holds for Arial 10
  *
  * @param PHPExcel_Worksheet $sheet The sheet
  * @param integer $col The column
  * @return integer The width in pixels
  */
 public static function sizeCol($sheet, $col = 'A')
 {
     // default font size of workbook
     $fontSize = $sheet->getParent()->getDefaultStyle()->getFont()->getSize();
     $columnDimensions = $sheet->getColumnDimensions();
     // first find the true column width in pixels (uncollapsed and unhidden)
     if (isset($columnDimensions[$col]) and $columnDimensions[$col]->getWidth() != -1) {
         // then we have column dimension with explicit width
         $columnDimension = $columnDimensions[$col];
         $width = $columnDimension->getWidth();
         $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $fontSize);
     } else {
         if ($sheet->getDefaultColumnDimension()->getWidth() != -1) {
             // then we have default column dimension with explicit width
             $defaultColumnDimension = $sheet->getDefaultColumnDimension();
             $width = $defaultColumnDimension->getWidth();
             $pixelWidth = PHPExcel_Shared_Drawing::cellDimensionToPixels($width, $fontSize);
         } else {
             $pixelWidth = (int) 64 * $fontSize / 11;
             // here we interpolate from Calibri 11
         }
     }
     // now find the effective column width in pixels
     if (isset($columnDimensions[$col]) and !$columnDimensions[$col]->getVisible()) {
         $effectivePixelWidth = 0;
     } else {
         $effectivePixelWidth = $pixelWidth;
     }
     return $effectivePixelWidth;
 }
开发者ID:portokallidis,项目名称:Metamorphosis-Meducator,代码行数:39,代码来源:Excel5.php

示例7: _writeCols

 /**
  * Write Cols
  *
  * @param	PHPExcel_Shared_XMLWriter			$objWriter		XML Writer
  * @param	PHPExcel_Worksheet					$pSheet			Worksheet
  * @throws	Exception
  */
 private function _writeCols(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_Worksheet $pSheet = null)
 {
     // cols
     if (count($pSheet->getColumnDimensions()) > 0) {
         $objWriter->startElement('cols');
         $pSheet->calculateColumnWidths();
         // Loop through column dimensions
         foreach ($pSheet->getColumnDimensions() as $colDimension) {
             // col
             $objWriter->startElement('col');
             $objWriter->writeAttribute('min', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex()));
             $objWriter->writeAttribute('max', PHPExcel_Cell::columnIndexFromString($colDimension->getColumnIndex()));
             if ($colDimension->getWidth() < 0) {
                 // No width set, apply default of 10
                 $objWriter->writeAttribute('width', '9.10');
             } else {
                 // Width set
                 $objWriter->writeAttribute('width', PHPExcel_Shared_String::FormatNumber($colDimension->getWidth()));
             }
             // Column visibility
             if ($colDimension->getVisible() == false) {
                 $objWriter->writeAttribute('hidden', 'true');
             }
             // Auto size?
             if ($colDimension->getAutoSize()) {
                 $objWriter->writeAttribute('bestFit', 'true');
             }
             // Custom width?
             if ($colDimension->getWidth() != $pSheet->getDefaultColumnDimension()->getWidth()) {
                 $objWriter->writeAttribute('customWidth', 'true');
             }
             // Collapsed
             if ($colDimension->getCollapsed() == true) {
                 $objWriter->writeAttribute('collapsed', 'true');
             }
             // Outline level
             if ($colDimension->getOutlineLevel() > 0) {
                 $objWriter->writeAttribute('outlineLevel', $colDimension->getOutlineLevel());
             }
             // Style
             $objWriter->writeAttribute('style', $colDimension->getXfIndex());
             $objWriter->endElement();
         }
         $objWriter->endElement();
     }
 }
开发者ID:honj51,项目名称:taobaocrm,代码行数:53,代码来源:Worksheet.php

示例8: _adjustColumnDimensions

 /**
  * Update column dimensions when inserting/deleting rows/columns
  *
  * @param   PHPExcel_Worksheet  $pSheet             The worksheet that we're editing
  * @param   string              $pBefore            Insert/Delete before this cell address (e.g. 'A1')
  * @param   integer             $beforeColumnIndex  Index number of the column we're inserting/deleting before
  * @param   integer             $pNumCols           Number of columns to insert/delete (negative values indicate deletion)
  * @param   integer             $beforeRow          Number of the row we're inserting/deleting before
  * @param   integer             $pNumRows           Number of rows to insert/delete (negative values indicate deletion)
  */
 protected function _adjustColumnDimensions($pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows)
 {
     $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true);
     if (!empty($aColumnDimensions)) {
         foreach ($aColumnDimensions as $objColumnDimension) {
             $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
             list($newReference) = PHPExcel_Cell::coordinateFromString($newReference);
             if ($objColumnDimension->getColumnIndex() != $newReference) {
                 $objColumnDimension->setColumnIndex($newReference);
             }
         }
         $pSheet->refreshColumnDimensions();
     }
 }
开发者ID:ljhchshm,项目名称:weixin,代码行数:24,代码来源:ReferenceHelper.php

示例9: insertNewBefore


//.........这里部分代码省略.........
		$highestColumn 	= $pSheet->getHighestColumn();
		$highestRow 	= $pSheet->getHighestRow();

		if ($pNumCols > 0 && PHPExcel_Cell::columnIndexFromString($beforeColumn) - 2 > 0) {
			for ($i = $beforeRow; $i <= $highestRow - 1; $i++) {

				// Style
				$pSheet->duplicateStyle(
					$pSheet->getStyle(
						(PHPExcel_Cell::stringFromColumnIndex( PHPExcel_Cell::columnIndexFromString($beforeColumn) - 2 ) . $i)
					),
					($beforeColumn . $i) . ':' . (PHPExcel_Cell::stringFromColumnIndex( PHPExcel_Cell::columnIndexFromString($beforeColumn) - 2 + $pNumCols ) . $i)
				);

			}
		}

		if ($pNumRows > 0 && $beforeRow - 1 > 0) {
			for ($i = PHPExcel_Cell::columnIndexFromString($beforeColumn) - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; $i++) {

				// Style
				$pSheet->duplicateStyle(
					$pSheet->getStyle(
						(PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1))
					),
					(PHPExcel_Cell::stringFromColumnIndex($i) . $beforeRow) . ':' . (PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1 + $pNumRows))
				);

			}
		}


		// Update worksheet: column dimensions
		$aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true);
		foreach ($aColumnDimensions as $objColumnDimension) {
			$newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
			list($newReference) = PHPExcel_Cell::coordinateFromString($newReference);
			if ($objColumnDimension->getColumnIndex() != $newReference) {
				$objColumnDimension->setColumnIndex($newReference);
			}
		}
		$pSheet->refreshColumnDimensions();


		// Update worksheet: row dimensions
		$aRowDimensions = array_reverse($pSheet->getRowDimensions(), true);
		foreach ($aRowDimensions as $objRowDimension) {
			$newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows);
			list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference);
			if ($objRowDimension->getRowIndex() != $newReference) {
				$objRowDimension->setRowIndex($newReference);
			}
		}
		$pSheet->refreshRowDimensions();

		$copyDimension = $pSheet->getRowDimension($beforeRow - 1);
		for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; $i++) {
			$newDimension = $pSheet->getRowDimension($i);
			$newDimension->setRowHeight($copyDimension->getRowHeight());
			$newDimension->setVisible($copyDimension->getVisible());
			$newDimension->setOutlineLevel($copyDimension->getOutlineLevel());
			$newDimension->setCollapsed($copyDimension->getCollapsed());
		}


		// Update worksheet: breaks
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:67,代码来源:ReferenceHelper.php

示例10: close

 /**
  * Add data to the beginning of the workbook (note the reverse order)
  * and to the end of the workbook.
  *
  * @access public
  * @see PHPExcel_Writer_Excel5_Workbook::storeWorkbook()
  */
 function close()
 {
     $num_sheets = count($this->_phpSheet->getParent()->getAllSheets());
     // Write BOF record
     $this->_storeBof(0x10);
     // Write PRINTHEADERS
     $this->_writePrintHeaders();
     // Write PRINTGRIDLINES
     $this->_writePrintGridlines();
     // Write GRIDSET
     $this->_writeGridset();
     // Calculate column widths
     $this->_phpSheet->calculateColumnWidths();
     // Column dimensions
     $columnDimensions = $this->_phpSheet->getColumnDimensions();
     for ($i = 0; $i < 256; ++$i) {
         $hidden = 0;
         $level = 0;
         $xfIndex = 15;
         // there are 15 cell style Xfs
         if ($this->_phpSheet->getDefaultColumnDimension()->getWidth() >= 0) {
             $width = $this->_phpSheet->getDefaultColumnDimension()->getWidth();
         } else {
             $width = PHPExcel_Shared_Font::getDefaultColumnWidthByFont($this->_phpSheet->getParent()->getDefaultStyle()->getFont());
         }
         $columnLetter = PHPExcel_Cell::stringFromColumnIndex($i);
         if (isset($columnDimensions[$columnLetter])) {
             $columnDimension = $columnDimensions[$columnLetter];
             if ($columnDimension->getWidth() >= 0) {
                 $width = $columnDimension->getWidth();
             }
             $hidden = $columnDimension->getVisible() ? 0 : 1;
             $level = $columnDimension->getOutlineLevel();
             $xfIndex = $columnDimension->getXfIndex() + 15;
             // there are 15 cell style Xfs
         }
         // Components of _colinfo:
         // $firstcol first column on the range
         // $lastcol  last column on the range
         // $width	width to set
         // $xfIndex  The optional cell style Xf index to apply to the columns
         // $hidden   The optional hidden atribute
         // $level	The optional outline level
         $this->_colinfo[] = array($i, $i, $width, $xfIndex, $hidden, $level);
     }
     // Write GUTS
     $this->_writeGuts();
     // Write DEFAULTROWHEIGHT
     if ($this->_BIFF_version == 0x600) {
         $this->_writeDefaultRowHeight();
     }
     // Write WSBOOL
     $this->_writeWsbool();
     // Write horizontal and vertical page breaks
     $this->_writeBreaks();
     // Write page header
     $this->_writeHeader();
     // Write page footer
     $this->_writeFooter();
     // Write page horizontal centering
     $this->_writeHcenter();
     // Write page vertical centering
     $this->_writeVcenter();
     // Write left margin
     $this->_writeMarginLeft();
     // Write right margin
     $this->_writeMarginRight();
     // Write top margin
     $this->_writeMarginTop();
     // Write bottom margin
     $this->_writeMarginBottom();
     // Write page setup
     $this->_writeSetup();
     // Write sheet protection
     $this->_writeProtect();
     // Write SCENPROTECT
     $this->_writeScenProtect();
     // Write OBJECTPROTECT
     $this->_writeObjectProtect();
     // Write sheet password
     $this->_writePassword();
     // Write DEFCOLWIDTH record
     $this->_writeDefcol();
     // Write the COLINFO records if they exist
     if (!empty($this->_colinfo)) {
         $colcount = count($this->_colinfo);
         for ($i = 0; $i < $colcount; ++$i) {
             $this->_writeColinfo($this->_colinfo[$i]);
         }
     }
     // Write EXTERNCOUNT of external references
     if ($this->_BIFF_version == 0x500) {
         $this->_writeExterncount($num_sheets);
//.........这里部分代码省略.........
开发者ID:kumarsivarajan,项目名称:ctrl-dock,代码行数:101,代码来源:Worksheet.php

示例11: _writeStyles

 /**
  * 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.");
     }
 }
开发者ID:laiello,项目名称:myopensources,代码行数:64,代码来源:HTML.php

示例12: insertNewBefore


//.........这里部分代码省略.........
                     $pSheet->getCellByColumnAndRow($j, $i)->setXfIndex($xfIndex);
                     if ($conditionalStyles) {
                         $cloned = array();
                         foreach ($conditionalStyles as $conditionalStyle) {
                             $cloned[] = clone $conditionalStyle;
                         }
                         $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($j) . $i, $cloned);
                     }
                 }
             }
         }
     }
     if ($pNumRows > 0 && $beforeRow - 1 > 0) {
         for ($i = PHPExcel_Cell::columnIndexFromString($beforeColumn) - 1; $i <= PHPExcel_Cell::columnIndexFromString($highestColumn) - 1; ++$i) {
             // Style
             $coordinate = PHPExcel_Cell::stringFromColumnIndex($i) . ($beforeRow - 1);
             if ($pSheet->cellExists($coordinate)) {
                 $xfIndex = $pSheet->getCell($coordinate)->getXfIndex();
                 $conditionalStyles = $pSheet->conditionalStylesExists($coordinate) ? $pSheet->getConditionalStyles($coordinate) : false;
                 for ($j = $beforeRow; $j <= $beforeRow - 1 + $pNumRows; ++$j) {
                     $pSheet->getCell(PHPExcel_Cell::stringFromColumnIndex($i) . $j)->setXfIndex($xfIndex);
                     if ($conditionalStyles) {
                         $cloned = array();
                         foreach ($conditionalStyles as $conditionalStyle) {
                             $cloned[] = clone $conditionalStyle;
                         }
                         $pSheet->setConditionalStyles(PHPExcel_Cell::stringFromColumnIndex($i) . $j, $cloned);
                     }
                 }
             }
         }
     }
     // Update worksheet: column dimensions
     $aColumnDimensions = array_reverse($pSheet->getColumnDimensions(), true);
     if (!empty($aColumnDimensions)) {
         foreach ($aColumnDimensions as $objColumnDimension) {
             $newReference = $this->updateCellReference($objColumnDimension->getColumnIndex() . '1', $pBefore, $pNumCols, $pNumRows);
             list($newReference) = PHPExcel_Cell::coordinateFromString($newReference);
             if ($objColumnDimension->getColumnIndex() != $newReference) {
                 $objColumnDimension->setColumnIndex($newReference);
             }
         }
         $pSheet->refreshColumnDimensions();
     }
     // Update worksheet: row dimensions
     $aRowDimensions = array_reverse($pSheet->getRowDimensions(), true);
     if (!empty($aRowDimensions)) {
         foreach ($aRowDimensions as $objRowDimension) {
             $newReference = $this->updateCellReference('A' . $objRowDimension->getRowIndex(), $pBefore, $pNumCols, $pNumRows);
             list(, $newReference) = PHPExcel_Cell::coordinateFromString($newReference);
             if ($objRowDimension->getRowIndex() != $newReference) {
                 $objRowDimension->setRowIndex($newReference);
             }
         }
         $pSheet->refreshRowDimensions();
         $copyDimension = $pSheet->getRowDimension($beforeRow - 1);
         for ($i = $beforeRow; $i <= $beforeRow - 1 + $pNumRows; ++$i) {
             $newDimension = $pSheet->getRowDimension($i);
             $newDimension->setRowHeight($copyDimension->getRowHeight());
             $newDimension->setVisible($copyDimension->getVisible());
             $newDimension->setOutlineLevel($copyDimension->getOutlineLevel());
             $newDimension->setCollapsed($copyDimension->getCollapsed());
         }
     }
     // Update worksheet: breaks
     $aBreaks = array_reverse($pSheet->getBreaks(), true);
开发者ID:JaeHoYun,项目名称:generatedata,代码行数:67,代码来源:ReferenceHelper.php

示例13: close

 /**
  * Add data to the beginning of the workbook (note the reverse order)
  * and to the end of the workbook.
  *
  * @access public
  * @see PHPExcel_Writer_Excel5_Workbook::storeWorkbook()
  */
 function close()
 {
     $num_sheets = count($this->_phpSheet->getParent()->getAllSheets());
     // Write BOF record
     $this->_storeBof(0x10);
     // Write DEFCOLWIDTH record
     $this->_storeDefcol();
     // Calculate column widths
     $this->_phpSheet->calculateColumnWidths();
     // Column dimensions
     foreach ($this->_phpSheet->getColumnDimensions() as $columnDimension) {
         $column = PHPExcel_Cell::columnIndexFromString($columnDimension->getColumnIndex()) - 1;
         if ($column < 256) {
             if ($columnDimension->getWidth() >= 0) {
                 $width = $columnDimension->getWidth();
             } else {
                 if ($this->_phpSheet->getDefaultColumnDimension()->getWidth() >= 0) {
                     $width = $this->_phpSheet->getDefaultColumnDimension()->getWidth();
                 } else {
                     $width = 8;
                 }
             }
             $this->_setColumn($column, $column, $width, null, $columnDimension->getVisible() ? '0' : '1', $columnDimension->getOutlineLevel());
         }
     }
     // Write the COLINFO records if they exist
     if (!empty($this->_colinfo)) {
         $colcount = count($this->_colinfo);
         for ($i = 0; $i < $colcount; ++$i) {
             $this->_storeColinfo($this->_colinfo[$i]);
         }
     }
     // Write EXTERNCOUNT of external references
     if ($this->_BIFF_version == 0x500) {
         $this->_storeExterncount($num_sheets);
     }
     // Write EXTERNSHEET references
     if ($this->_BIFF_version == 0x500) {
         for ($i = 0; $i < $num_sheets; ++$i) {
             $this->_storeExternsheet($this->_phpSheet->getParent()->getSheet($i)->getTitle());
         }
     }
     // Write PRINTHEADERS
     $this->_storePrintHeaders();
     // Write PRINTGRIDLINES
     $this->_storePrintGridlines();
     // Write GUTS
     $this->_storeGuts();
     // Write GRIDSET
     $this->_storeGridset();
     // Write DEFAULTROWHEIGHT
     if ($this->_BIFF_version == 0x600) {
         $this->_storeDefaultRowHeight();
     }
     // Write WSBOOL
     $this->_storeWsbool();
     // Write horizontal and vertical page breaks
     $this->_storeBreaks();
     // Write page header
     $this->_storeHeader();
     // Write page footer
     $this->_storeFooter();
     // Write page horizontal centering
     $this->_storeHcenter();
     // Write page vertical centering
     $this->_storeVcenter();
     // Write left margin
     $this->_storeMarginLeft();
     // Write right margin
     $this->_storeMarginRight();
     // Write top margin
     $this->_storeMarginTop();
     /* FIXME: margins are actually appended */
     // Write bottom margin
     $this->_storeMarginBottom();
     // Write page setup
     $this->_storeSetup();
     // Write sheet protection
     $this->_storeProtect();
     // Write sheet password
     $this->_storePassword();
     // Write sheet dimensions
     $this->_storeDimensions();
     // Write Cells
     $aStyles = $this->_phpSheet->getStyles();
     $emptyStyle = $this->_phpSheet->getDefaultStyle();
     foreach ($this->_phpSheet->getCellCollection() as $cell) {
         $row = $cell->getRow() - 1;
         $column = PHPExcel_Cell::columnIndexFromString($cell->getColumn()) - 1;
         // Don't break Excel!
         if ($row + 1 > 65536 or $column + 1 > 256) {
             break;
         }
//.........这里部分代码省略.........
开发者ID:roelvanduijnhoven,项目名称:muzieklijstjes,代码行数:101,代码来源:Worksheet.php


注:本文中的PHPExcel_Worksheet::getColumnDimensions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。