PHPExcel Calculation Example
Database Formulae
DAVERAGE
getActiveSheet();
// Add some data
$database = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit' ),
array( 'Apple', 18, 20, 14, 105.00 ),
array( 'Pear', 12, 12, 10, 96.00 ),
array( 'Cherry', 13, 14, 9, 105.00 ),
array( 'Apple', 14, 15, 10, 75.00 ),
array( 'Pear', 9, 8, 8, 76.80 ),
array( 'Apple', 8, 9, 6, 45.00 ),
);
$criteria = array( array( 'Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height' ),
array( '="=Apple"', '>10', NULL, NULL, NULL, '<16' ),
array( '="=Pear"', NULL, NULL, NULL, NULL, NULL )
);
$worksheet->fromArray( $criteria, NULL, 'A1' );
$worksheet->fromArray( $database, NULL, 'A4' );
$worksheet->setCellValue('A12', 'The Average yield of Apple trees over 10\' in height');
$worksheet->setCellValue('B12', '=DAVERAGE(A4:E10,"Yield",A1:B2)');
$worksheet->setCellValue('A13', 'The Average age of all Apple and Pear trees in the orchard');
$worksheet->setCellValue('B13', '=DAVERAGE(A4:E10,3,A1:A3)');
echo '
';
echo 'Database
';
$databaseData = $worksheet->rangeToArray('A4:E10',null,true,true,true);
var_dump($databaseData);
echo '
';
// Test the formulae
echo 'Criteria
';
$criteriaData = $worksheet->rangeToArray('A1:B2',null,true,true,true);
var_dump($criteriaData);
echo $worksheet->getCell("A12")->getValue() .'
';
echo 'DAVERAGE() Result is ' . $worksheet->getCell("B12")->getCalculatedValue() .'
';
echo 'Criteria
';
$criteriaData = $worksheet->rangeToArray('A1:A3',null,true,true,true);
var_dump($criteriaData);
echo $worksheet->getCell("A13")->getValue() .'
';
echo 'DAVERAGE() Result is ' . $worksheet->getCell("B13")->getCalculatedValue();
?>