Chart reading test workbooks
git-svn-id: https://phpexcel.svn.codeplex.com/svn/trunk@86720 2327b42d-5241-43d6-9e2a-de5ac946f064
This commit is contained in:
parent
29fcbd0c97
commit
d6fbd9562e
|
@ -8,7 +8,7 @@ date_default_timezone_set('Europe/London');
|
||||||
/**
|
/**
|
||||||
* PHPExcel
|
* PHPExcel
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006 - 2008 PHPExcel
|
* Copyright (C) 2006 - 2012 PHPExcel
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -26,7 +26,7 @@ date_default_timezone_set('Europe/London');
|
||||||
*
|
*
|
||||||
* @category PHPExcel
|
* @category PHPExcel
|
||||||
* @package PHPExcel
|
* @package PHPExcel
|
||||||
* @copyright Copyright (c) 2006 - 2008 PHPExcel (http://www.codeplex.com/PHPExcel)
|
* @copyright Copyright (c) 2006 - 2012 PHPExcel (http://www.codeplex.com/PHPExcel)
|
||||||
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
* @license http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt LGPL
|
||||||
* @version ##VERSION##, ##DATE##
|
* @version ##VERSION##, ##DATE##
|
||||||
*/
|
*/
|
||||||
|
@ -38,65 +38,87 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '../Classes/');
|
||||||
include 'PHPExcel/IOFactory.php';
|
include 'PHPExcel/IOFactory.php';
|
||||||
|
|
||||||
$inputFileType = 'Excel2007';
|
$inputFileType = 'Excel2007';
|
||||||
$inputFileName = 'templates/32chartreadwrite.xlsx';
|
$inputFileNames = 'templates/32readwrite*[0-9].xlsx';
|
||||||
|
|
||||||
|
if ((isset($argc)) && ($argc > 1)) {
|
||||||
|
$inputFileNames = array();
|
||||||
|
for($i = 1; $i < $argc; ++$i) {
|
||||||
|
$inputFileNames[] = __DIR__ . '/templates/' . $argv[$i];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$inputFileNames = glob($inputFileNames);
|
||||||
|
}
|
||||||
|
foreach($inputFileNames as $inputFileName) {
|
||||||
|
$inputFileNameShort = basename($inputFileName);
|
||||||
|
|
||||||
|
if (!file_exists($inputFileName)) {
|
||||||
|
echo date('H:i:s') , " File " , $inputFileNameShort , ' does not exist' , PHP_EOL;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo date('H:i:s') , " Load Test from $inputFileType file " , $inputFileNameShort , PHP_EOL;
|
||||||
|
|
||||||
|
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
|
||||||
|
$objReader->setIncludeCharts(TRUE);
|
||||||
|
$objPHPExcel = $objReader->load($inputFileName);
|
||||||
|
|
||||||
|
|
||||||
echo date('H:i:s')." Load Test from $inputFileType file" , PHP_EOL;
|
echo date('H:i:s') , " Iterate worksheets looking at the charts" , PHP_EOL;
|
||||||
|
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
|
||||||
|
$sheetName = $worksheet->getTitle();
|
||||||
|
echo 'Worksheet: ' , $sheetName , PHP_EOL;
|
||||||
|
|
||||||
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
|
$chartNames = $worksheet->getChartNames();
|
||||||
$objPHPExcel = $objReader->load($inputFileName);
|
if(empty($chartNames)) {
|
||||||
|
echo ' There are no charts in this worksheet' , PHP_EOL;
|
||||||
|
} else {
|
||||||
echo date('H:i:s') , " Iterate worksheets looking at the charts" , PHP_EOL;
|
natsort($chartNames);
|
||||||
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
|
foreach($chartNames as $i => $chartName) {
|
||||||
$sheetName = $worksheet->getTitle();
|
$chart = $worksheet->getChartByName($chartName);
|
||||||
echo 'Worksheet: ' , $sheetName , PHP_EOL;
|
if (!is_null($chart->getTitle())) {
|
||||||
|
$caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"';
|
||||||
$chartNames = $worksheet->getChartNames();
|
|
||||||
if(empty($chartNames)) {
|
|
||||||
echo ' There are no charts in this worksheet' , PHP_EOL;
|
|
||||||
} else {
|
|
||||||
natsort($chartNames);
|
|
||||||
foreach($chartNames as $i => $chartName) {
|
|
||||||
$chart = $worksheet->getChartByName($chartName);
|
|
||||||
if (!is_null($chart->getTitle())) {
|
|
||||||
$caption = '"' . implode(' ',$chart->getTitle()->getCaption()) . '"';
|
|
||||||
} else {
|
|
||||||
$caption = 'Untitled';
|
|
||||||
}
|
|
||||||
echo ' ' , $chartName , ' - ' , $caption , PHP_EOL;
|
|
||||||
echo str_repeat(' ',strlen($chartName)+3);
|
|
||||||
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
|
|
||||||
if ($groupCount == 1) {
|
|
||||||
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
|
||||||
echo ' ' , $chartType , PHP_EOL;
|
|
||||||
} else {
|
|
||||||
$chartTypes = array();
|
|
||||||
for($i = 0; $i < $groupCount; ++$i) {
|
|
||||||
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
|
||||||
}
|
|
||||||
$chartTypes = array_unique($chartTypes);
|
|
||||||
if (count($chartTypes) == 1) {
|
|
||||||
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
|
|
||||||
echo ' ' , $chartType , PHP_EOL;
|
|
||||||
} elseif (count($chartTypes) == 0) {
|
|
||||||
echo ' *** Type not yet implemented' , PHP_EOL;
|
|
||||||
} else {
|
} else {
|
||||||
echo ' Combination Chart' , PHP_EOL;
|
$caption = 'Untitled';
|
||||||
|
}
|
||||||
|
echo ' ' , $chartName , ' - ' , $caption , PHP_EOL;
|
||||||
|
echo str_repeat(' ',strlen($chartName)+3);
|
||||||
|
$groupCount = $chart->getPlotArea()->getPlotGroupCount();
|
||||||
|
if ($groupCount == 1) {
|
||||||
|
$chartType = $chart->getPlotArea()->getPlotGroupByIndex(0)->getPlotType();
|
||||||
|
echo ' ' , $chartType , PHP_EOL;
|
||||||
|
} else {
|
||||||
|
$chartTypes = array();
|
||||||
|
for($i = 0; $i < $groupCount; ++$i) {
|
||||||
|
$chartTypes[] = $chart->getPlotArea()->getPlotGroupByIndex($i)->getPlotType();
|
||||||
|
}
|
||||||
|
$chartTypes = array_unique($chartTypes);
|
||||||
|
if (count($chartTypes) == 1) {
|
||||||
|
$chartType = 'Multiple Plot ' . array_pop($chartTypes);
|
||||||
|
echo ' ' , $chartType , PHP_EOL;
|
||||||
|
} elseif (count($chartTypes) == 0) {
|
||||||
|
echo ' *** Type not yet implemented' , PHP_EOL;
|
||||||
|
} else {
|
||||||
|
echo ' Combination Chart' , PHP_EOL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$outputFileName = basename($inputFileName);
|
||||||
|
|
||||||
|
echo date('H:i:s') , " Write Tests to Excel2007 file " , PHP_EOL;
|
||||||
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
||||||
|
$objWriter->save($outputFileName);
|
||||||
|
echo date('H:i:s') , " File written to " , $outputFileName , PHP_EOL;
|
||||||
|
|
||||||
|
$objPHPExcel->disconnectWorksheets();
|
||||||
|
unset($objPHPExcel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
echo date('H:i:s')." Write Tests to Excel2007 file" , 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;
|
|
||||||
|
|
||||||
// Echo memory peak usage
|
// 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" , PHP_EOL;
|
||||||
|
|
||||||
// Echo done
|
// Echo done
|
||||||
echo date('H:i:s')." Done writing files." , PHP_EOL;
|
echo date('H:i:s') , " Done writing files" , PHP_EOL;
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue