| 
									
										
										
										
											2010-10-12 21:32:17 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | error_reporting(E_ALL); | 
					
						
							|  |  |  | set_time_limit(0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | date_default_timezone_set('Europe/London'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 | 
					
						
							|  |  |  | <html> | 
					
						
							|  |  |  | <head> | 
					
						
							|  |  |  | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <title>PHPExcel Reader Example #10</title>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | </head> | 
					
						
							|  |  |  | <body> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <h1>PHPExcel Reader Example #10</h1>
 | 
					
						
							|  |  |  | <h2>Simple File Reader Using a Configurable Read Filter</h2> | 
					
						
							|  |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** Include path **/ | 
					
						
							|  |  |  | set_include_path(get_include_path() . PATH_SEPARATOR . '../../../Classes/'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** PHPExcel_IOFactory */ | 
					
						
							|  |  |  | include 'PHPExcel/IOFactory.php'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-06 11:49:41 +00:00
										 |  |  | $inputFileType = 'Xls'; | 
					
						
							| 
									
										
										
										
											2016-10-06 11:39:10 +00:00
										 |  |  | //	$inputFileType = 'Xlsx';
 | 
					
						
							| 
									
										
										
										
											2010-10-12 21:32:17 +00:00
										 |  |  | //	$inputFileType = 'Excel2003XML';
 | 
					
						
							| 
									
										
										
										
											2016-10-06 12:07:57 +00:00
										 |  |  | //	$inputFileType = 'Ods';
 | 
					
						
							| 
									
										
										
										
											2010-10-12 21:32:17 +00:00
										 |  |  | //	$inputFileType = 'Gnumeric';
 | 
					
						
							|  |  |  | $inputFileName = './sampleData/example1.xls'; | 
					
						
							|  |  |  | $sheetname = 'Data Sheet #3'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MyReadFilter implements PHPExcel_Reader_IReadFilter | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	private $_startRow = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	private $_endRow = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	private $_columns = array(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function __construct($startRow, $endRow, $columns) { | 
					
						
							|  |  |  | 		$this->_startRow	= $startRow; | 
					
						
							|  |  |  | 		$this->_endRow		= $endRow; | 
					
						
							|  |  |  | 		$this->_columns		= $columns; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	public function readCell($column, $row, $worksheetName = '') { | 
					
						
							|  |  |  | 		if ($row >= $this->_startRow && $row <= $this->_endRow) { | 
					
						
							|  |  |  | 			if (in_array($column,$this->_columns)) { | 
					
						
							|  |  |  | 				return true; | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		return false; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $filterSubset = new MyReadFilter(9,15,range('G','K')); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory with a defined reader type of ',$inputFileType,'<br />'; | 
					
						
							|  |  |  | $objReader = PHPExcel_IOFactory::createReader($inputFileType); | 
					
						
							|  |  |  | echo 'Loading Sheet "',$sheetname,'" only<br />'; | 
					
						
							|  |  |  | $objReader->setLoadSheetsOnly($sheetname); | 
					
						
							|  |  |  | echo 'Loading Sheet using configurable filter<br />'; | 
					
						
							|  |  |  | $objReader->setReadFilter($filterSubset); | 
					
						
							|  |  |  | $objPHPExcel = $objReader->load($inputFileName); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo '<hr />'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); | 
					
						
							|  |  |  | var_dump($sheetData); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 | 
					
						
							|  |  |  | <body> | 
					
						
							|  |  |  | </html> |