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


PHP PHPExcel::getSheetCount方法代码示例

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


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

示例1: load


//.........这里部分代码省略.........

												$docSheet->getPageSetup()->setPrintArea($extractedRange);
												break;

											default:
												break;
										}
									}
								}
							}

							// Next sheet id
							++$sheetId;
						}

						// Loop through definedNames
						if ($xmlWorkbook->definedNames) {
							foreach ($xmlWorkbook->definedNames->definedName as $definedName) {
								// Extract range
								$extractedRange = (string)$definedName;
								$extractedRange = preg_replace('/\'(\w+)\'\!/', '', $extractedRange);
								$extractedRange = str_replace('$', '', $extractedRange);

								// Valid range?
								if (stripos((string)$definedName, '#REF!') !== false || $extractedRange == '') {
									continue;
								}

								// Some definedNames are only applicable if we are on the same sheet...
								if ((string)$definedName['localSheetId'] != '') {
									// Local defined name
									// Switch on type
									switch ((string)$definedName['name']) {

										case '_xlnm._FilterDatabase':
										case '_xlnm.Print_Titles':
										case '_xlnm.Print_Area':
											break;

										default:
											$range = explode('!', (string)$definedName);
											if (count($range) == 2) {
												$range[0] = str_replace("''", "'", $range[0]);
												$range[0] = str_replace("'", "", $range[0]);
												if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) {
													$extractedRange = str_replace('$', '', $range[1]);
													$scope = $docSheet->getParent()->getSheet((string)$definedName['localSheetId']);

													$excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $worksheet, $extractedRange, true, $scope) );
												}
											}
											break;
									}
								} else if (!isset($definedName['localSheetId'])) {
									// "Global" definedNames
									$locatedSheet = null;
									$extractedSheetName = '';
									if (strpos( (string)$definedName, '!' ) !== false) {
										// Extract sheet name
										$extractedSheetName = PHPExcel_Worksheet::extractSheetTitle( (string)$definedName, true );
										$extractedSheetName = $extractedSheetName[0];

										// Locate sheet
										$locatedSheet = $excel->getSheetByName($extractedSheetName);

										// Modify range
										$range = explode('!', $extractedRange);
										$extractedRange = isset($range[1]) ? $range[1] : $range[0];
									}

									if (!is_null($locatedSheet)) {
										$excel->addNamedRange( new PHPExcel_NamedRange((string)$definedName['name'], $locatedSheet, $extractedRange, false) );
									}
								}
							}
						}
					}

					if (!$this->_readDataOnly) {
						// active sheet index
						$activeTab = intval($xmlWorkbook->bookViews->workbookView["activeTab"]); // refers to old sheet index

						// keep active sheet index if sheet is still loaded, else first sheet is set as the active
						if (isset($mapSheetId[$activeTab]) && $mapSheetId[$activeTab] !== null) {
							$excel->setActiveSheetIndex($mapSheetId[$activeTab]);
						} else {
							if ($excel->getSheetCount() == 0)
							{
								$excel->createSheet();
							}
							$excel->setActiveSheetIndex(0);
						}
					}
				break;
			}

		}

		return $excel;
	}
开发者ID:Opmantek,项目名称:open-audit,代码行数:101,代码来源:Excel2007.php

示例2: addSheet

 /**
  * Add sheet
  *
  * @param string $name
  * @return $this for method chaining
  */
 public function addSheet($name)
 {
     $index = $this->_xls->getSheetCount();
     $this->_xls->createSheet($index)->setTitle($name);
     $this->setActiveSheet($index);
     return $this;
 }
开发者ID:a0108393,项目名称:cms-system,代码行数:13,代码来源:PhpExcelComponent.php

示例3: save

 /**
  * Save PHPExcel to file
  *
  * @param 	string 		$pFileName
  * @throws 	Exception
  */
 public function save($pFilename = null)
 {
     if (!is_null($this->_spreadSheet)) {
         // Create new ZIP file and open it for writing
         $objZip = new ZipArchive();
         // Try opening the ZIP file
         if ($objZip->open($pFilename, ZIPARCHIVE::OVERWRITE) !== true) {
             throw new Exception("Could not open " . $pFilename . " for writing.");
         }
         // Add media
         for ($i = 0; $i < $this->_spreadSheet->getSheetCount(); $i++) {
             for ($j = 0; $j < $this->_spreadSheet->getSheet($i)->getDrawingCollection()->count(); $j++) {
                 if ($this->_spreadSheet->getSheet($i)->getDrawingCollection()->offsetGet($j) instanceof PHPExcel_Worksheet_BaseDrawing) {
                     $imgTemp = $this->_spreadSheet->getSheet($i)->getDrawingCollection()->offsetGet($j);
                     $objZip->addFromString('media/' . $imgTemp->getFilename(), file_get_contents($imgTemp->getPath()));
                 }
             }
         }
         // Add phpexcel.xml to the document, which represents a PHP serialized PHPExcel object
         $objZip->addFromString('phpexcel.xml', $this->_writeSerialized($this->_spreadSheet, $pFilename));
         // Close file
         if ($objZip->close() === false) {
             throw new Exception("Could not close zip file {$pFilename}.");
         }
     } else {
         throw new Exception("PHPExcel object unassigned.");
     }
 }
开发者ID:hostellerie,项目名称:nexpro,代码行数:34,代码来源:Serialized.php

示例4: processIteration

 /**
  * add body rows
  *
  * @param Tinebase_Record_RecordSet $records
  * 
  * @todo add formulas
  */
 public function processIteration($_records)
 {
     $this->_resolveRecords($_records);
     // add record rows
     $i = 0;
     foreach ($_records as $record) {
         //if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . print_r($record->toArray(), true));
         $columnId = 0;
         foreach ($this->_config->columns->column as $field) {
             // get type and value for cell
             $cellType = isset($field->type) ? $field->type : 'string';
             $cellValue = $this->_getCellValue($field, $record, $cellType);
             // add formula
             if ($field->formula) {
                 //if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Adding formula: ' . $field->formula);
                 $cellValue = $field->formula;
             }
             $this->_excelObject->getActiveSheet()->setCellValueByColumnAndRow($columnId++, $this->_currentRowIndex, $cellValue);
         }
         $i++;
         $this->_currentRowIndex++;
     }
     // save number of records (only if we have more than 1 sheets / records are on the second sheet by default)
     if ($this->_excelObject->getSheetCount() > 1) {
         $this->_excelObject->setActiveSheetIndex(0);
         $this->_excelObject->getActiveSheet()->setCellValueByColumnAndRow(5, 2, count($_records));
     }
 }
开发者ID:,项目名称:,代码行数:35,代码来源:

示例5: generateSheetData

 /**
  * Generate sheet data
  *
  * @return	string
  * @throws Exception
  */
 public function generateSheetData()
 {
     // PHPExcel object known?
     if (is_null($this->_phpExcel)) {
         throw new Exception('Internal PHPExcel object not set to an instance of an object.');
     }
     // Fetch sheets
     $sheets = array();
     if (is_null($this->_sheetIndex)) {
         $sheets = $this->_phpExcel->getAllSheets();
     } else {
         $sheets[] = $this->_phpExcel->getSheet($this->_sheetIndex);
     }
     // Construct HTML
     $html = '';
     // Loop all sheets
     $sheetId = 0;
     foreach ($sheets as $sheet) {
         // Get cell collection
         $cellCollection = $sheet->getCellCollection();
         // Write table header
         $html .= $this->_generateTableHeader($sheet);
         // Get worksheet dimension
         $dimension = explode(':', $sheet->calculateWorksheetDimension());
         $dimension[0] = PHPExcel_Cell::coordinateFromString($dimension[0]);
         $dimension[0][0] = PHPExcel_Cell::columnIndexFromString($dimension[0][0]) - 1;
         $dimension[1] = PHPExcel_Cell::coordinateFromString($dimension[1]);
         $dimension[1][0] = PHPExcel_Cell::columnIndexFromString($dimension[1][0]) - 1;
         // Loop trough cells
         $rowData = null;
         for ($row = $dimension[0][1]; $row <= $dimension[1][1]; ++$row) {
             // Start a new row
             $rowData = array();
             // Loop trough columns
             for ($column = $dimension[0][0]; $column <= $dimension[1][0]; ++$column) {
                 // Cell exists?
                 if ($sheet->cellExistsByColumnAndRow($column, $row)) {
                     $rowData[$column] = $sheet->getCellByColumnAndRow($column, $row);
                 } else {
                     $rowData[$column] = '';
                 }
             }
             // Write row
             $html .= $this->_generateRow($sheet, $rowData, $row - 1);
         }
         // Write table footer
         $html .= $this->_generateTableFooter();
         // Writing PDF?
         if ($this->_isPdf) {
             if (is_null($this->_sheetIndex) && $sheetId + 1 < $this->_phpExcel->getSheetCount()) {
                 $html .= '<tcpdf method="AddPage" />';
             }
         }
         // Next sheet
         ++$sheetId;
     }
     // Return
     return $html;
 }
开发者ID:linhanwei,项目名称:TP,代码行数:65,代码来源:HTML.php

示例6: _onAfterExportRecords

 /**
  * (non-PHPdoc)
  * @see Tinebase_Export_Abstract::_onAfterExportRecords()
  */
 protected function _onAfterExportRecords($result)
 {
     // save number of records (only if we have more than 1 sheets / records are on the second sheet by default)
     if ($this->_excelObject->getSheetCount() > 1) {
         $this->_excelObject->setActiveSheetIndex(0);
         $this->_excelObject->getActiveSheet()->setCellValueByColumnAndRow(5, 2, $result['totalcount']);
     }
 }
开发者ID:ingoratsdorf,项目名称:Tine-2.0-Open-Source-Groupware-and-CRM,代码行数:12,代码来源:Xls.php

示例7:

 function crear_hoja($nombre = null)
 {
     $hoja = $this->excel->createSheet();
     if (isset($nombre)) {
         $hoja->setTitle(utf8_encode(strval($nombre)));
     }
     $this->excel->setActiveSheetIndex($this->excel->getSheetCount() - 1);
     $this->cursor = $this->cursor_base;
 }
开发者ID:emma5021,项目名称:toba,代码行数:9,代码来源:toba_vista_excel.php

示例8: save

 /**
  * Save PHPExcel to file
  *
  * @param	string		$pFileName
  * @throws	Exception
  */
 public function save($pFilename = null)
 {
     // garbage collect
     $this->_phpExcel->garbageCollect();
     $saveDebugLog = PHPExcel_Calculation::getInstance()->writeDebugLog;
     PHPExcel_Calculation::getInstance()->writeDebugLog = false;
     $saveDateReturnType = PHPExcel_Calculation_Functions::getReturnDateType();
     PHPExcel_Calculation_Functions::setReturnDateType(PHPExcel_Calculation_Functions::RETURNDATE_EXCEL);
     // initialize colors array
     $this->_colors = array();
     // Initialise workbook writer
     $this->_writerWorkbook = new PHPExcel_Writer_Excel5_Workbook($this->_phpExcel, $this->_BIFF_version, $this->_str_total, $this->_str_unique, $this->_str_table, $this->_colors, $this->_parser);
     // Initialise worksheet writers
     $countSheets = $this->_phpExcel->getSheetCount();
     for ($i = 0; $i < $countSheets; ++$i) {
         $this->_writerWorksheets[$i] = new PHPExcel_Writer_Excel5_Worksheet($this->_BIFF_version, $this->_str_total, $this->_str_unique, $this->_str_table, $this->_colors, $this->_parser, $this->_preCalculateFormulas, $this->_phpExcel->getSheet($i));
     }
     // build Escher objects. Escher objects for workbooks needs to be build before Escher object for workbook.
     $this->_buildWorksheetEschers();
     $this->_buildWorkbookEscher();
     // add 15 identical cell style Xfs
     // for now, we use the first cellXf instead of cellStyleXf
     $cellXfCollection = $this->_phpExcel->getCellXfCollection();
     for ($i = 0; $i < 15; ++$i) {
         $this->_writerWorkbook->addXfWriter($cellXfCollection[0], true);
     }
     // add all the cell Xfs
     foreach ($this->_phpExcel->getCellXfCollection() as $style) {
         $this->_writerWorkbook->addXfWriter($style, false);
     }
     // initialize OLE file
     $workbookStreamName = $this->_BIFF_version == 0x600 ? 'Workbook' : 'Book';
     $OLE = new PHPExcel_Shared_OLE_PPS_File(PHPExcel_Shared_OLE::Asc2Ucs($workbookStreamName));
     // Write the worksheet streams before the global workbook stream,
     // because the byte sizes of these are needed in the global workbook stream
     $worksheetSizes = array();
     for ($i = 0; $i < $countSheets; ++$i) {
         $this->_writerWorksheets[$i]->close();
         $worksheetSizes[] = $this->_writerWorksheets[$i]->_datasize;
     }
     // add binary data for global workbook stream
     $OLE->append($this->_writerWorkbook->writeWorkbook($worksheetSizes));
     // add binary data for sheet streams
     for ($i = 0; $i < $countSheets; ++$i) {
         $OLE->append($this->_writerWorksheets[$i]->getData());
     }
     $root = new PHPExcel_Shared_OLE_PPS_Root(time(), time(), array($OLE));
     // save the OLE file
     $res = $root->save($pFilename);
     PHPExcel_Calculation_Functions::setReturnDateType($saveDateReturnType);
     PHPExcel_Calculation::getInstance()->writeDebugLog = $saveDebugLog;
 }
开发者ID:sysraj86,项目名称:carnivalcrm,代码行数:58,代码来源:Excel5.php

示例9: _render

 /**
  * Start render of a new spreadsheet
  * @throws LaravelExcelException
  * @return void
  */
 protected function _render()
 {
     // There should be enough sheets to continue rendering
     if ($this->excel->getSheetCount() < 0) {
         throw new LaravelExcelException('[ERROR] Aborting spreadsheet render: no sheets were created.');
     }
     // Set the format
     $this->_setFormat();
     // Set the writer
     $this->_setWriter();
     // File has been rendered
     $this->rendered = true;
 }
开发者ID:mycrazydog,项目名称:mm-shibboleth,代码行数:18,代码来源:LaravelExcelWriter.php

示例10: splitToSheets

 /**
 * Retrieve data and split to sheets.
 * Example:
 * <pre><code>
 * <?php
    $function = function($offset, $limit)
    {
        $result = ...
        return array(
            $result['data'],
            $result['total'],
        );
    };
    $xls = new XLSReport();
    $xls->splitToSheets($function, $titles);
 * ?>
 * </code></pre>
 * @param function $function
 * @param array $titles
 * @param PHPExcel_Chart $charts
 */
 public function splitToSheets(&$function, &$titles = array(), $charts = null)
 {
     $offset = 0;
     $limit = $this->limitLength;
     do {
         list($data, $total) = $function($offset, $limit);
         if (!empty($data)) {
             $this->newSheet($data, $titles, $charts);
         }
         $offset += $limit;
     } while ($offset < $total);
     $this->objPHPExcel->removeSheetByIndex($this->objPHPExcel->getSheetCount() - 1);
 }
开发者ID:glendemon,项目名称:phpexcel-wrapper,代码行数:34,代码来源:PhpExcelWrapper.php

示例11: prepararArchivo

/**
 * 
 * @param PHPExcel_Worksheet $hoja
 * @param int $pk representa el índice de la columna en el archivo de excel que está asociada con la llave primaria de la tabla
 * @return string rerpesenta el nombre la ruta del archivo creado. Si no se pudo crear el archivo se regresa otra cosa :p
 */
function prepararArchivo($hoja, $pk = false, $incluirPrimeraFila = false)
{
    $objetoExcel = new PHPExcel();
    $hojaInsertar = $objetoExcel->getSheet(0);
    $hojaInsertar->setTitle('Insertar');
    if ($objetoExcel->getSheetCount() > 1) {
        $hojaActualizar = $objetoExcel->getSheet(1);
        $hojaActualizar->setTitle('Actualizar');
    } else {
        $hojaActualizar = new PHPExcel_Worksheet();
        $hojaActualizar->setTitle('Actualizar');
        $objetoExcel->addSheet($hojaActualizar);
    }
    $rango = $hoja->calculateWorksheetDataDimension();
    if (!$incluirPrimeraFila) {
        $rango[1] = '2';
    }
    $contenidoExcel = $hoja->rangeToArray($rango);
    $datos = array();
    $datos['insertar'] = array();
    $datos['actualizar'] = array();
    if ($pk) {
        $db = new DbConnection();
        $db->abrirConexion();
        $llavePrimaria = $_SESSION['pk'];
        foreach ($contenidoExcel as $fila) {
            $existe = $db->existeRegistro($_SESSION['tabla'], $llavePrimaria, $fila[$pk]);
            if ($existe) {
                $datos['actualizar'][] = $fila;
            } else {
                $datos['insertar'][] = $fila;
            }
        }
        $db->cerrarConexion();
    } else {
        foreach ($contenidoExcel as $fila) {
            $datos['insertar'][] = $fila;
        }
    }
    $hojaInsertar->fromArray($datos['insertar'], null, 'A1', true);
    $hojaActualizar->fromArray($datos['actualizar'], null, 'A1', true);
    $escritorExcel = PHPExcel_IOFactory::createWriter($objetoExcel, 'Excel2007');
    $escritorExcel->save('excelTmp/tmp_import_upload.xlsx');
    return 'excelTmp/tmp_import_upload.xlsx';
}
开发者ID:roy1336,项目名称:ImportadorPHP,代码行数:51,代码来源:lectorExcel.php

示例12: loadIntoExisting

 /**
  * Loads PHPExcel from file into PHPExcel instance
  *
  * @param 	string 		$pFilename
  * @param	PHPExcel	$objPHPExcel
  * @return 	PHPExcel
  * @throws 	Exception
  */
 public function loadIntoExisting($pFilename, PHPExcel $objPHPExcel)
 {
     // Check if file exists
     if (!file_exists($pFilename)) {
         throw new Exception("Could not open " . $pFilename . " for reading! File does not exist.");
     }
     // Create new PHPExcel
     while ($objPHPExcel->getSheetCount() <= $this->_sheetIndex) {
         $objPHPExcel->createSheet();
     }
     $objPHPExcel->setActiveSheetIndex($this->_sheetIndex);
     $fromFormats = array('\\-', '\\ ');
     $toFormats = array('-', ' ');
     // Open file
     $fileHandle = fopen($pFilename, 'r');
     if ($fileHandle === false) {
         throw new Exception("Could not open file {$pFilename} for reading.");
     }
     // Loop through file
     $rowData = array();
     $column = $row = '';
     // loop through one row (line) at a time in the file
     while (($rowData = fgets($fileHandle)) !== FALSE) {
         // convert SYLK encoded $rowData to UTF-8
         $rowData = Shared_String::SYLKtoUTF8($rowData);
         // explode each row at semicolons while taking into account that literal semicolon (;)
         // is escaped like this (;;)
         $rowData = explode("\t", str_replace('¤', ';', str_replace(';', "\t", str_replace(';;', '¤', rtrim($rowData)))));
         $dataType = array_shift($rowData);
         //	Read shared styles
         if ($dataType == 'P') {
             $formatArray = array();
             foreach ($rowData as $rowDatum) {
                 switch ($rowDatum[0]) {
                     case 'P':
                         $formatArray['numberformat']['code'] = str_replace($fromFormats, $toFormats, substr($rowDatum, 1));
                         break;
                     case 'E':
                     case 'F':
                         $formatArray['font']['name'] = substr($rowDatum, 1);
                         break;
                     case 'L':
                         $formatArray['font']['size'] = substr($rowDatum, 1);
                         break;
                     case 'S':
                         $styleSettings = substr($rowDatum, 1);
                         for ($i = 0; $i < strlen($styleSettings); ++$i) {
                             switch ($styleSettings[$i]) {
                                 case 'I':
                                     $formatArray['font']['italic'] = true;
                                     break;
                                 case 'D':
                                     $formatArray['font']['bold'] = true;
                                     break;
                                 case 'T':
                                     $formatArray['borders']['top']['style'] = Style_Border::BORDER_THIN;
                                     break;
                                 case 'B':
                                     $formatArray['borders']['bottom']['style'] = Style_Border::BORDER_THIN;
                                     break;
                                 case 'L':
                                     $formatArray['borders']['left']['style'] = Style_Border::BORDER_THIN;
                                     break;
                                 case 'R':
                                     $formatArray['borders']['right']['style'] = Style_Border::BORDER_THIN;
                                     break;
                             }
                         }
                         break;
                 }
             }
             $this->_formats['P' . $this->_format++] = $formatArray;
             //	Read cell value data
         } elseif ($dataType == 'C') {
             $hasCalculatedValue = false;
             $cellData = $cellDataFormula = '';
             foreach ($rowData as $rowDatum) {
                 switch ($rowDatum[0]) {
                     case 'C':
                     case 'X':
                         $column = substr($rowDatum, 1);
                         break;
                     case 'R':
                     case 'Y':
                         $row = substr($rowDatum, 1);
                         break;
                     case 'K':
                         $cellData = substr($rowDatum, 1);
                         break;
                     case 'E':
                         $cellDataFormula = '=' . substr($rowDatum, 1);
                         //	Convert R1C1 style references to A1 style references (but only when not quoted)
//.........这里部分代码省略.........
开发者ID:kamaludinnur,项目名称:toko-baju,代码行数:101,代码来源:SYLK.php

示例13: load


//.........这里部分代码省略.........
                                 $extractedRange = str_replace('$', '', $extractedRange);
                             }
                             // Valid range?
                             if (stripos((string) $definedName, '#REF!') !== false || $extractedRange == '') {
                                 continue;
                             }
                             // Some definedNames are only applicable if we are on the same sheet...
                             if ((string) $definedName['localSheetId'] != '') {
                                 // Local defined name
                                 // Switch on type
                                 switch ((string) $definedName['name']) {
                                     case '_xlnm._FilterDatabase':
                                     case '_xlnm.Print_Titles':
                                     case '_xlnm.Print_Area':
                                         break;
                                     default:
                                         if ($mapSheetId[(int) $definedName['localSheetId']] !== null) {
                                             $range = explode('!', (string) $definedName);
                                             if (count($range) == 2) {
                                                 $range[0] = str_replace("''", "'", $range[0]);
                                                 $range[0] = str_replace("'", "", $range[0]);
                                                 if ($worksheet = $docSheet->getParent()->getSheetByName($range[0])) {
                                                     $extractedRange = str_replace('$', '', $range[1]);
                                                     $scope = $docSheet->getParent()->getSheet($mapSheetId[(int) $definedName['localSheetId']]);
                                                     $excel->addNamedRange(new PHPExcel_NamedRange((string) $definedName['name'], $worksheet, $extractedRange, true, $scope));
                                                 }
                                             }
                                         }
                                         break;
                                 }
                             } else {
                                 if (!isset($definedName['localSheetId'])) {
                                     // "Global" definedNames
                                     $locatedSheet = null;
                                     $extractedSheetName = '';
                                     if (strpos((string) $definedName, '!') !== false) {
                                         // Extract sheet name
                                         $extractedSheetName = PHPExcel_Worksheet::extractSheetTitle((string) $definedName, true);
                                         $extractedSheetName = $extractedSheetName[0];
                                         // Locate sheet
                                         $locatedSheet = $excel->getSheetByName($extractedSheetName);
                                         // Modify range
                                         $range = explode('!', $extractedRange);
                                         $extractedRange = isset($range[1]) ? $range[1] : $range[0];
                                     }
                                     if ($locatedSheet !== NULL) {
                                         $excel->addNamedRange(new PHPExcel_NamedRange((string) $definedName['name'], $locatedSheet, $extractedRange, false));
                                     }
                                 }
                             }
                         }
                     }
                 }
                 if (!$this->_readDataOnly || !empty($this->_loadSheetsOnly)) {
                     // active sheet index
                     $activeTab = intval($xmlWorkbook->bookViews->workbookView["activeTab"]);
                     // refers to old sheet index
                     // keep active sheet index if sheet is still loaded, else first sheet is set as the active
                     if (isset($mapSheetId[$activeTab]) && $mapSheetId[$activeTab] !== null) {
                         $excel->setActiveSheetIndex($mapSheetId[$activeTab]);
                     } else {
                         if ($excel->getSheetCount() == 0) {
                             $excel->createSheet();
                         }
                         $excel->setActiveSheetIndex(0);
                     }
                 }
                 break;
         }
     }
     if (!$this->_readDataOnly) {
         $contentTypes = simplexml_load_string($this->_getFromZipArchive($zip, "[Content_Types].xml"));
         foreach ($contentTypes->Override as $contentType) {
             switch ($contentType["ContentType"]) {
                 case "application/vnd.openxmlformats-officedocument.drawingml.chart+xml":
                     if ($this->_includeCharts) {
                         $chartEntryRef = ltrim($contentType['PartName'], '/');
                         $chartElements = simplexml_load_string($this->_getFromZipArchive($zip, $chartEntryRef));
                         $objChart = PHPExcel_Reader_Excel2007_Chart::readChart($chartElements, basename($chartEntryRef, '.xml'));
                         //							echo 'Chart ',$chartEntryRef,'<br />';
                         //							var_dump($charts[$chartEntryRef]);
                         //
                         if (isset($charts[$chartEntryRef])) {
                             $chartPositionRef = $charts[$chartEntryRef]['sheet'] . '!' . $charts[$chartEntryRef]['id'];
                             //								echo 'Position Ref ',$chartPositionRef,'<br />';
                             if (isset($chartDetails[$chartPositionRef])) {
                                 //									var_dump($chartDetails[$chartPositionRef]);
                                 $excel->getSheetByName($charts[$chartEntryRef]['sheet'])->addChart($objChart);
                                 $objChart->setWorksheet($excel->getSheetByName($charts[$chartEntryRef]['sheet']));
                                 $objChart->setTopLeftPosition($chartDetails[$chartPositionRef]['fromCoordinate'], $chartDetails[$chartPositionRef]['fromOffsetX'], $chartDetails[$chartPositionRef]['fromOffsetY']);
                                 $objChart->setBottomRightPosition($chartDetails[$chartPositionRef]['toCoordinate'], $chartDetails[$chartPositionRef]['toOffsetX'], $chartDetails[$chartPositionRef]['toOffsetY']);
                             }
                         }
                     }
             }
         }
     }
     $zip->close();
     return $excel;
 }
开发者ID:jimlongo56,项目名称:bhouse,代码行数:101,代码来源:Excel2007.php

示例14: writeSupbookInternal

 /**
  * Write Internal SUPBOOK record
  */
 private function writeSupbookInternal()
 {
     $record = 0x1ae;
     // Record identifier
     $length = 0x4;
     // Bytes to follow
     $header = pack("vv", $record, $length);
     $data = pack("vv", $this->phpExcel->getSheetCount(), 0x401);
     return $this->writeData($header . $data);
 }
开发者ID:jaya-project,项目名称:zycms,代码行数:13,代码来源:Workbook.php

示例15: writeWorkbookRelationships

 /**
  * Write workbook relationships to XML format
  *
  * @param 	PHPExcel	$pPHPExcel
  * @return 	string 		XML Output
  * @throws 	Exception
  */
 public function writeWorkbookRelationships(PHPExcel $pPHPExcel = null)
 {
     // Create XML writer
     $objWriter = null;
     if ($this->getParentWriter()->getUseDiskCaching()) {
         $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
     } else {
         $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
     }
     // XML header
     $objWriter->startDocument('1.0', 'UTF-8', 'yes');
     // Relationships
     $objWriter->startElement('Relationships');
     $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships');
     // Relationship styles.xml
     $this->_writeRelationship($objWriter, 1, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles', 'styles.xml');
     // Relationship theme/theme1.xml
     $this->_writeRelationship($objWriter, 2, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme', 'theme/theme1.xml');
     // Relationship sharedStrings.xml
     $this->_writeRelationship($objWriter, 3, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings', 'sharedStrings.xml');
     // Relationships with sheets
     $sheetCount = $pPHPExcel->getSheetCount();
     for ($i = 0; $i < $sheetCount; ++$i) {
         $this->_writeRelationship($objWriter, $i + 1 + 3, 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', 'worksheets/sheet' . ($i + 1) . '.xml');
     }
     $objWriter->endElement();
     // Return
     return $objWriter->getData();
 }
开发者ID:portokallidis,项目名称:Metamorphosis-Meducator,代码行数:36,代码来源:Rels.php


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