diff --git a/Classes/PHPExcel/Chart/DataSeriesValues.php b/Classes/PHPExcel/Chart/DataSeriesValues.php index 90ef668..6ef5e10 100644 --- a/Classes/PHPExcel/Chart/DataSeriesValues.php +++ b/Classes/PHPExcel/Chart/DataSeriesValues.php @@ -273,14 +273,33 @@ class PHPExcel_Chart_DataSeriesValues return $this; } + private function _stripNulls($var) { + return $var !== NULL; + } + public function refresh(PHPExcel_Worksheet $worksheet) { + echo '$this->_dataSource:',PHP_EOL; + var_dump($this->_dataSource); if ($this->_dataSource !== NULL) { + echo '$this->_dataValues:',PHP_EOL; + var_dump($this->_dataValues); + $calcEngine = PHPExcel_Calculation::getInstance(); - $this->_dataValues = PHPExcel_Calculation::_unwrapResult( + $newDataValues = PHPExcel_Calculation::_unwrapResult( $calcEngine->_calculateFormulaValue( - $this->_dataSource + '='.$this->_dataSource, + NULL, + $worksheet->getCell('A1') ) ); + + echo '$newDataValues:',PHP_EOL; + var_dump($newDataValues); + $this->_dataValues = PHPExcel_Calculation_Functions::flattenArray($newDataValues); + $this->_dataValues = array_values(array_shift($newDataValues)); +// $this->_dataValues = array_filter($this->_dataValues,array($this,'_stripNulls')); + echo '$this->_dataValues:',PHP_EOL; + var_dump($this->_dataValues); } } diff --git a/Classes/PHPExcel/Writer/Excel2007/Chart.php b/Classes/PHPExcel/Writer/Excel2007/Chart.php index 4a29a59..2128582 100644 --- a/Classes/PHPExcel/Writer/Excel2007/Chart.php +++ b/Classes/PHPExcel/Writer/Excel2007/Chart.php @@ -975,17 +975,6 @@ class PHPExcel_Writer_Excel2007_Chart extends PHPExcel_Writer_Excel2007_WriterPa $dataValues = $plotSeriesValues->getDataValues(); if (!empty($dataValues)) { -// if (!is_array($dataValues)) { -// echo 'NOT AN ARRAY: '; -// var_dump($dataValues); -// $dataValues = PHPExcel_Calculation_Functions::flattenArray( -// PHPExcel_Calculation::getInstance() -// ->calculateFormula('='.$dataValues, -// NULL, -// $pSheet->getCell('A1') -// ) -// ); -// } if (is_array($dataValues)) { foreach($dataValues as $plotSeriesKey => $plotSeriesValue) { $objWriter->startElement('c:pt'); @@ -1031,17 +1020,6 @@ class PHPExcel_Writer_Excel2007_Chart extends PHPExcel_Writer_Excel2007_WriterPa $dataValues = $plotSeriesValues->getDataValues(); if (!empty($dataValues)) { -// if (!is_array($dataValues)) { -// echo 'NOT AN ARRAY: '; -// var_dump($dataValues); -// $dataValues = PHPExcel_Calculation_Functions::flattenArray( -// PHPExcel_Calculation::getInstance() -// ->calculateFormula('='.$dataValues, -// NULL, -// $pSheet->getCell('A1') -// ) -// ); -// } if (is_array($dataValues)) { foreach($dataValues as $plotSeriesKey => $plotSeriesValue) { $objWriter->startElement('c:pt');