2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-05-17 22:02:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								use  PhpOffice\PhpSpreadsheet\Cell\DataValidation ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use  PhpOffice\PhpSpreadsheet\Spreadsheet ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2017-10-01 08:48:59 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								require  __DIR__  .  '/../Header.php' ;  
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Create new Spreadsheet object
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$helper -> log ( 'Create new Spreadsheet object' );  
						 
					
						
							
								
									
										
										
										
											2017-05-17 22:02:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$spreadsheet  =  new  Spreadsheet ();  
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Set document properties
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$helper -> log ( 'Set document properties' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$spreadsheet -> getProperties () -> setCreator ( 'Maarten Balliauw' )  
						 
					
						
							
								
									
										
										
										
											2018-01-28 06:59:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -> 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' ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Create a first sheet
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$helper -> log ( 'Add data' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$spreadsheet -> setActiveSheetIndex ( 0 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$spreadsheet -> getActiveSheet () -> setCellValue ( 'A1' ,  'Cell B3 and B5 contain data validation...' )  
						 
					
						
							
								
									
										
										
										
											2018-01-28 06:59:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -> setCellValue ( 'A3' ,  'Number:' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'B3' ,  '10' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'A5' ,  'List:' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'B5' ,  'Item A' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'A7' ,  'List #2:' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'B7' ,  'Item #2' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'D2' ,  'Item #1' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'D3' ,  'Item #2' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'D4' ,  'Item #3' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'D5' ,  'Item #4' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -> setCellValue ( 'D6' ,  'Item #5' ); 
							 
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Set data validation
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$helper -> log ( 'Set data validation' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation  =  $spreadsheet -> getActiveSheet () -> getCell ( 'B3' ) -> getDataValidation ();  
						 
					
						
							
								
									
										
										
										
											2017-05-17 22:02:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$validation -> setType ( DataValidation :: TYPE_WHOLE );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorStyle ( DataValidation :: STYLE_STOP );  
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$validation -> setAllowBlank ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowInputMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowErrorMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorTitle ( 'Input error' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setError ( 'Only numbers between 10 and 20 are allowed!' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPromptTitle ( 'Allowed input' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPrompt ( 'Only numbers between 10 and 20 are allowed.' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setFormula1 ( 10 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setFormula2 ( 20 );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation  =  $spreadsheet -> getActiveSheet () -> getCell ( 'B5' ) -> getDataValidation ();  
						 
					
						
							
								
									
										
										
										
											2017-05-17 22:02:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$validation -> setType ( DataValidation :: TYPE_LIST );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorStyle ( DataValidation :: STYLE_INFORMATION );  
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$validation -> setAllowBlank ( false );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowInputMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowErrorMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowDropDown ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorTitle ( 'Input error' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setError ( 'Value is not in list.' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPromptTitle ( 'Pick from list' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPrompt ( 'Please pick a value from the drop-down list.' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setFormula1 ( '"Item A,Item B,Item C"' );  // Make sure to put the list items between " and " if your list is simply a comma-separated list of values !!!
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation  =  $spreadsheet -> getActiveSheet () -> getCell ( 'B7' ) -> getDataValidation ();  
						 
					
						
							
								
									
										
										
										
											2017-05-17 22:02:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$validation -> setType ( DataValidation :: TYPE_LIST );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorStyle ( DataValidation :: STYLE_INFORMATION );  
						 
					
						
							
								
									
										
										
										
											2016-08-31 16:15:54 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$validation -> setAllowBlank ( false );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowInputMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowErrorMessage ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setShowDropDown ( true );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setErrorTitle ( 'Input error' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setError ( 'Value is not in list.' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPromptTitle ( 'Pick from list' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setPrompt ( 'Please pick a value from the drop-down list.' );  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$validation -> setFormula1 ( '$D$2:$D$6' );  // Make sure NOT to put a range of cells or a formula between " and "
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Save
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$helper -> write ( $spreadsheet ,  __FILE__ );