IMPROVED : Samples for generating Excel5 at the same time Excel2007

This commit is contained in:
Progi1984 2012-07-13 17:58:44 +02:00
parent 5c1f28d470
commit 2cbc3d24ab
2 changed files with 99 additions and 90 deletions

View File

@ -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

View File

@ -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', '<br />');
}
// 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;