1<?php 2/** 3 * PHPExcel 4 * 5 * Copyright (c) 2006 - 2015 PHPExcel 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 * 21 * @category PHPExcel 22 * @package PHPExcel 23 * @copyright Copyright (c) 2006 - 2015 PHPExcel (http://www.codeplex.com/PHPExcel) 24 * @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL 25 * @version ##VERSION##, ##DATE## 26 */ 27 28/** Error reporting */ 29error_reporting(E_ALL); 30ini_set('display_errors', TRUE); 31ini_set('display_startup_errors', TRUE); 32 33define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />'); 34 35date_default_timezone_set('Europe/London'); 36 37/** Include PHPExcel */ 38require_once dirname(__FILE__) . '/../Classes/PHPExcel.php'; 39 40 41// Create new PHPExcel object 42echo date('H:i:s') , " Create new PHPExcel object" , EOL; 43$objPHPExcel = new PHPExcel(); 44 45// Set document properties 46echo date('H:i:s') , " Set document properties" , EOL; 47$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") 48 ->setLastModifiedBy("Maarten Balliauw") 49 ->setTitle("Office 2007 XLSX Test Document") 50 ->setSubject("Office 2007 XLSX Test Document") 51 ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") 52 ->setKeywords("office 2007 openxml php") 53 ->setCategory("Test result file"); 54 55 56// Create a first sheet 57echo date('H:i:s') , " Add data and page breaks" , EOL; 58$objPHPExcel->setActiveSheetIndex(0); 59$objPHPExcel->getActiveSheet()->setCellValue('A1', "Firstname") 60 ->setCellValue('B1', "Lastname") 61 ->setCellValue('C1', "Phone") 62 ->setCellValue('D1', "Fax") 63 ->setCellValue('E1', "Is Client ?"); 64 65 66// Add data 67for ($i = 2; $i <= 50; $i++) { 68 $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i"); 69 $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, "LName $i"); 70 $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, "PhoneNo $i"); 71 $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, "FaxNo $i"); 72 $objPHPExcel->getActiveSheet()->setCellValue('E' . $i, true); 73 74 // Add page breaks every 10 rows 75 if ($i % 10 == 0) { 76 // Add a page break 77 $objPHPExcel->getActiveSheet()->setBreak( 'A' . $i, PHPExcel_Worksheet::BREAK_ROW ); 78 } 79} 80 81// Set active sheet index to the first sheet, so Excel opens this as the first sheet 82$objPHPExcel->setActiveSheetIndex(0); 83$objPHPExcel->getActiveSheet()->setTitle('Printing Options'); 84 85// Set print headers 86$objPHPExcel->getActiveSheet() 87 ->getHeaderFooter()->setOddHeader('&C&24&K0000FF&B&U&A'); 88$objPHPExcel->getActiveSheet() 89 ->getHeaderFooter()->setEvenHeader('&C&24&K0000FF&B&U&A'); 90 91// Set print footers 92$objPHPExcel->getActiveSheet() 93 ->getHeaderFooter()->setOddFooter('&R&D &T&C&F&LPage &P / &N'); 94$objPHPExcel->getActiveSheet() 95 ->getHeaderFooter()->setEvenFooter('&L&D &T&C&F&RPage &P / &N'); 96 97 98 99// Save Excel 2007 file 100echo date('H:i:s') , " Write to Excel2007 format" , EOL; 101$callStartTime = microtime(true); 102 103$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); 104$objWriter->save(str_replace('.php', '.xlsx', __FILE__)); 105$callEndTime = microtime(true); 106$callTime = $callEndTime - $callStartTime; 107 108echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; 109echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; 110// Echo memory usage 111echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; 112 113 114// Save Excel 95 file 115echo date('H:i:s') , " Write to Excel5 format" , EOL; 116$callStartTime = microtime(true); 117 118$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); 119$objWriter->save(str_replace('.php', '.xls', __FILE__)); 120$callEndTime = microtime(true); 121$callTime = $callEndTime - $callStartTime; 122 123echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL; 124echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL; 125// Echo memory usage 126echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL; 127 128 129// Echo memory peak usage 130echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL; 131 132// Echo done 133echo date('H:i:s') , " Done writing files" , EOL; 134echo 'Files have been created in ' , getcwd() , EOL; 135