From 2cbc3d24ab6522c4b08476e6c1195fdb7e68b3b7 Mon Sep 17 00:00:00 2001 From: Progi1984 Date: Fri, 13 Jul 2012 17:58:44 +0200 Subject: [PATCH] IMPROVED : Samples for generating Excel5 at the same time Excel2007 --- Tests/01simple.php | 13 ++- Tests/10autofilter.php | 176 +++++++++++++++++++++-------------------- 2 files changed, 99 insertions(+), 90 deletions(-) diff --git a/Tests/01simple.php b/Tests/01simple.php index a114edc..c89352d 100644 --- a/Tests/01simple.php +++ b/Tests/01simple.php @@ -42,10 +42,10 @@ $objPHPExcel = new PHPExcel(); echo date('H:i:s') , " Set document properties" , PHP_EOL; $objPHPExcel->getProperties()->setCreator("Maarten Balliauw") ->setLastModifiedBy("Maarten Balliauw") - ->setTitle("Office 2007 XLSX Test Document") - ->setSubject("Office 2007 XLSX Test Document") - ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") - ->setKeywords("office 2007 openxml php") + ->setTitle("PHPExcel Test Document") + ->setSubject("PHPExcel Test Document") + ->setDescription("Test document for PHPExcel, generated using PHP classes.") + ->setKeywords("office PHPExcel php") ->setCategory("Test result file"); @@ -76,6 +76,11 @@ echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; +// Save Excel5 file +echo date('H:i:s') , " Write to Excel5 format" , PHP_EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s') , " File written to " , str_replace('.php', '.xls', __FILE__) , PHP_EOL; // Echo memory peak usage diff --git a/Tests/10autofilter.php b/Tests/10autofilter.php index 98a7829..68cf3bf 100644 --- a/Tests/10autofilter.php +++ b/Tests/10autofilter.php @@ -33,117 +33,121 @@ date_default_timezone_set('Europe/London'); /** Include PHPExcel */ require_once '../Classes/PHPExcel.php'; +if(php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) { + define('EOL',PHP_EOL); +} +else { + define('EOL', '
'); +} // Create new PHPExcel object -echo date('H:i:s') , " Create new PHPExcel object" , PHP_EOL; +echo date('H:i:s').' Create new PHPExcel object'.EOL; $objPHPExcel = new PHPExcel(); // Set document properties -echo date('H:i:s') , " Set document properties" , PHP_EOL; -$objPHPExcel->getProperties()->setCreator("Maarten Balliauw") - ->setLastModifiedBy("Maarten Balliauw") - ->setTitle("Office 2007 XLSX Test Document") - ->setSubject("Office 2007 XLSX Test Document") - ->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") - ->setKeywords("office 2007 openxml php") - ->setCategory("Test result file"); - +echo date('H:i:s').' Set document properties'.EOL; +$objPHPExcel->getProperties()->setCreator('Maarten Balliauw') + ->setLastModifiedBy('Maarten Balliauw') + ->setTitle('PHPExcel Test Document') + ->setSubject('PHPExcel Test Document') + ->setDescription('Test document for PHPExcel, generated using PHP classes.') + ->setKeywords('office PHPExcel php') + ->setCategory('Test result file'); // Create the worksheet -echo date('H:i:s') , " Add data" , PHP_EOL; +echo date('H:i:s').' Add data'.EOL; $objPHPExcel->setActiveSheetIndex(0); -$objPHPExcel->getActiveSheet()->setCellValue('A1', "Year") - ->setCellValue('B1', "Quarter") - ->setCellValue('C1', "Country") - ->setCellValue('D1', "Sales"); +$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Year') + ->setCellValue('B1', 'Quarter') + ->setCellValue('C1', 'Country') + ->setCellValue('D1', 'Sales'); -$dataArray = array(array("2010", "Q1", "United States", 790), - array("2010", "Q2", "United States", 730), - array("2010", "Q3", "United States", 860), - array("2010", "Q4", "United States", 850), - array("2011", "Q1", "United States", 800), - array("2011", "Q2", "United States", 700), - array("2011", "Q3", "United States", 900), - array("2011", "Q4", "United States", 950), - array("2010", "Q1", "Belgium", 380), - array("2010", "Q2", "Belgium", 390), - array("2010", "Q3", "Belgium", 420), - array("2010", "Q4", "Belgium", 460), - array("2011", "Q1", "Belgium", 400), - array("2011", "Q2", "Belgium", 350), - array("2011", "Q3", "Belgium", 450), - array("2011", "Q4", "Belgium", 500), - array("2010", "Q1", "UK", 690), - array("2010", "Q2", "UK", 610), - array("2010", "Q3", "UK", 620), - array("2010", "Q4", "UK", 600), - array("2011", "Q1", "UK", 720), - array("2011", "Q2", "UK", 650), - array("2011", "Q3", "UK", 580), - array("2011", "Q4", "UK", 510), - array("2010", "Q1", "France", 510), - array("2010", "Q2", "France", 490), - array("2010", "Q3", "France", 460), - array("2010", "Q4", "France", 590), - array("2011", "Q1", "France", 620), - array("2011", "Q2", "France", 650), - array("2011", "Q3", "France", 415), - array("2011", "Q4", "France", 570), - array("2010", "Q1", "Germany", 720), - array("2010", "Q2", "Germany", 680), - array("2010", "Q3", "Germany", 640), - array("2010", "Q4", "Germany", 660), - array("2011", "Q1", "Germany", 680), - array("2011", "Q2", "Germany", 620), - array("2011", "Q3", "Germany", 710), - array("2011", "Q4", "Germany", 690), - array("2010", "Q1", "Spain", 510), - array("2010", "Q2", "Spain", 490), - array("2010", "Q3", "Spain", 470), - array("2010", "Q4", "Spain", 420), - array("2011", "Q1", "Spain", 460), - array("2011", "Q2", "Spain", 390), - array("2011", "Q3", "Spain", 430), - array("2011", "Q4", "Spain", 415), - array("2010", "Q1", "Italy", 440), - array("2010", "Q2", "Italy", 410), - array("2010", "Q3", "Italy", 420), - array("2010", "Q4", "Italy", 450), - array("2011", "Q1", "Italy", 430), - array("2011", "Q2", "Italy", 370), - array("2011", "Q3", "Italy", 350), - array("2011", "Q4", "Italy", 335), +$dataArray = array(array('2010', 'Q1', 'United States', 790), + array('2010', 'Q2', 'United States', 730), + array('2010', 'Q3', 'United States', 860), + array('2010', 'Q4', 'United States', 850), + array('2011', 'Q1', 'United States', 800), + array('2011', 'Q2', 'United States', 700), + array('2011', 'Q3', 'United States', 900), + array('2011', 'Q4', 'United States', 950), + array('2010', 'Q1', 'Belgium', 380), + array('2010', 'Q2', 'Belgium', 390), + array('2010', 'Q3', 'Belgium', 420), + array('2010', 'Q4', 'Belgium', 460), + array('2011', 'Q1', 'Belgium', 400), + array('2011', 'Q2', 'Belgium', 350), + array('2011', 'Q3', 'Belgium', 450), + array('2011', 'Q4', 'Belgium', 500), + array('2010', 'Q1', 'UK', 690), + array('2010', 'Q2', 'UK', 610), + array('2010', 'Q3', 'UK', 620), + array('2010', 'Q4', 'UK', 600), + array('2011', 'Q1', 'UK', 720), + array('2011', 'Q2', 'UK', 650), + array('2011', 'Q3', 'UK', 580), + array('2011', 'Q4', 'UK', 510), + array('2010', 'Q1', 'France', 510), + array('2010', 'Q2', 'France', 490), + array('2010', 'Q3', 'France', 460), + array('2010', 'Q4', 'France', 590), + array('2011', 'Q1', 'France', 620), + array('2011', 'Q2', 'France', 650), + array('2011', 'Q3', 'France', 415), + array('2011', 'Q4', 'France', 570), + array('2010', 'Q1', 'Germany', 720), + array('2010', 'Q2', 'Germany', 680), + array('2010', 'Q3', 'Germany', 640), + array('2010', 'Q4', 'Germany', 660), + array('2011', 'Q1', 'Germany', 680), + array('2011', 'Q2', 'Germany', 620), + array('2011', 'Q3', 'Germany', 710), + array('2011', 'Q4', 'Germany', 690), + array('2010', 'Q1', 'Spain', 510), + array('2010', 'Q2', 'Spain', 490), + array('2010', 'Q3', 'Spain', 470), + array('2010', 'Q4', 'Spain', 420), + array('2011', 'Q1', 'Spain', 460), + array('2011', 'Q2', 'Spain', 390), + array('2011', 'Q3', 'Spain', 430), + array('2011', 'Q4', 'Spain', 415), + array('2010', 'Q1', 'Italy', 440), + array('2010', 'Q2', 'Italy', 410), + array('2010', 'Q3', 'Italy', 420), + array('2010', 'Q4', 'Italy', 450), + array('2011', 'Q1', 'Italy', 430), + array('2011', 'Q2', 'Italy', 370), + array('2011', 'Q3', 'Italy', 350), + array('2011', 'Q4', 'Italy', 335), ); - - $objPHPExcel->getActiveSheet()->fromArray($dataArray, NULL, 'A2'); - // Set title row bold -echo date('H:i:s') , " Set title row bold" , PHP_EOL; +echo date('H:i:s').' Set title row bold'.EOL; $objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true); - // Set autofilter -echo date('H:i:s') , " Set autofilter" , PHP_EOL; - // Always include the complete filter range! - // Excel does support setting only the caption - // row, but that's not a best practise... +echo date('H:i:s').' Set autofilter'.EOL; +// Always include the complete filter range! +// Excel does support setting only the caption +// row, but that's not a best practise... $objPHPExcel->getActiveSheet()->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension()); // Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); - // Save Excel 2007 file -echo date('H:i:s') , " Write to Excel2007 format" , PHP_EOL; +echo date('H:i:s').' Write to Excel2007 format'.EOL; $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); -echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', __FILE__) , PHP_EOL; - +echo date('H:i:s').' File written to '.str_replace('.php', '.xlsx', __FILE__).EOL; +// Save Excel5 file +echo date('H:i:s').' Write to Excel5 format'.EOL; +$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); +$objWriter->save(str_replace('.php', '.xls', __FILE__)); +echo date('H:i:s').' File written to '.str_replace('.php', '.xls', __FILE__).EOL; // Echo memory peak usage -echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , PHP_EOL; +echo date('H:i:s').' Peak memory usage: '.(memory_get_peak_usage(true) / 1024 / 1024).' MB'.EOL; // Echo done -echo date('H:i:s') , " Done writing file" , PHP_EOL; +echo date('H:i:s').' Done writing file'.EOL;