| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-05-17 22:02:17 +00:00
										 |  |  | use PhpOffice\PhpSpreadsheet\Spreadsheet; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | error_reporting(E_ALL); | 
					
						
							|  |  |  | set_time_limit(0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | date_default_timezone_set('Europe/London'); | 
					
						
							|  |  |  | ?>
 | 
					
						
							|  |  |  | <html> | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |     <head> | 
					
						
							|  |  |  |         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         <title>PhpSpreadsheet Calculation Examples</title> | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |     </head> | 
					
						
							|  |  |  |     <body> | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         <h1>DVAR</h1> | 
					
						
							|  |  |  |         <h2>Estimates variance based on a sample from selected database entries.</h2> | 
					
						
							|  |  |  |         <?php | 
					
						
							|  |  |  |         require_once __DIR__ . '/../../../../src/Bootstrap.php'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         // Create new PhpSpreadsheet object
 | 
					
						
							|  |  |  |         $spreadsheet = new Spreadsheet(); | 
					
						
							|  |  |  |         $worksheet = $spreadsheet->getActiveSheet(); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         // Add some data
 | 
					
						
							|  |  |  |         $database = [['Tree', 'Height', 'Age', 'Yield', 'Profit'], | 
					
						
							|  |  |  |             ['Apple', 18, 20, 14, 105.00], | 
					
						
							|  |  |  |             ['Pear', 12, 12, 10, 96.00], | 
					
						
							|  |  |  |             ['Cherry', 13, 14, 9, 105.00], | 
					
						
							|  |  |  |             ['Apple', 14, 15, 10, 75.00], | 
					
						
							|  |  |  |             ['Pear', 9, 8, 8, 76.80], | 
					
						
							|  |  |  |             ['Apple', 8, 9, 6, 45.00], | 
					
						
							|  |  |  |         ]; | 
					
						
							|  |  |  |         $criteria = [['Tree', 'Height', 'Age', 'Yield', 'Profit', 'Height'], | 
					
						
							|  |  |  |             ['="=Apple"', '>10', null, null, null, '<16'], | 
					
						
							|  |  |  |             ['="=Pear"', null, null, null, null, null], | 
					
						
							|  |  |  |         ]; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $worksheet->fromArray($criteria, null, 'A1'); | 
					
						
							|  |  |  |         $worksheet->fromArray($database, null, 'A4'); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $worksheet->setCellValue('A12', 'The estimated variance in the yield of Apple and Pear trees'); | 
					
						
							|  |  |  |         $worksheet->setCellValue('B12', '=DVAR(A4:E10,"Yield",A1:A3)'); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $worksheet->setCellValue('A13', 'The estimated variance in height of Apple and Pear trees'); | 
					
						
							|  |  |  |         $worksheet->setCellValue('B13', '=DVAR(A4:E10,2,A1:A3)'); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo '<hr />'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo '<h4>Database</h4>'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $databaseData = $worksheet->rangeToArray('A4:E10', null, true, true, true); | 
					
						
							|  |  |  |         var_dump($databaseData); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo '<hr />'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         // Test the formulae
 | 
					
						
							|  |  |  |         echo '<h4>Criteria</h4>'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true); | 
					
						
							|  |  |  |         var_dump($criteriaData); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo $worksheet->getCell('A12')->getValue() . '<br />'; | 
					
						
							|  |  |  |         echo 'DVAR() Result is ' . $worksheet->getCell('B12')->getCalculatedValue() . '<br /><br />'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo '<h4>Criteria</h4>'; | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         $criteriaData = $worksheet->rangeToArray('A1:A3', null, true, true, true); | 
					
						
							|  |  |  |         var_dump($criteriaData); | 
					
						
							| 
									
										
										
										
											2016-11-27 06:45:15 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-08-03 10:03:24 +00:00
										 |  |  |         echo $worksheet->getCell('A13')->getValue() . '<br />'; | 
					
						
							|  |  |  |         echo 'DVAR() Result is ' . $worksheet->getCell('B13')->getCalculatedValue(); | 
					
						
							|  |  |  |         ?>
 | 
					
						
							|  |  |  |     <body> | 
					
						
							| 
									
										
										
										
											2012-03-27 22:16:36 +00:00
										 |  |  | </html> |