unable to read Using a Configurable Read Filter as in Example 10

Topics: Developer Forum, Project Management Forum, User Forum
Sep 5, 2011 at 7:32 AM

Hello Every one !!

when i was testing all the examples; For reading from an excel file I found a strange activity in Example in 09 and 10 (/Documentation/Examples/Reader/exampleReader10.php)

As mentioned in the file it is bound to read a specific number of rows and ranged columns. rows were taken into count but not the columns. It takes upto column O only. Even I have tested to give more column range and it displays from column "A"  to the extent of column "O".and Not more than "O"

Can any one sort the Issue, and let me know If i am wrong.

Waiting for your valued suggestions and Inputs.

Not but the least Thanks to PHPExcel and codeplex.com for the script..

Hope this will be best for ever..

Waiting for the earliest replys

Thanks,

Jimson Jose,

INDIA.

all the code is as shown below

<?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

set_include_path(get_include_path() . PATH_SEPARATOR . 'E:/Drive2/webserver/xampp/htdocs/ftp/import/Classes/');


/** PHPExcel_IOFactory */
include 'PHPExcel/IOFactory.php';


//$inputFileType = 'Excel5';
	$inputFileType = 'Excel2007';
//	$inputFileType = 'Excel2003XML';
//	$inputFileType = 'OOCalc';
//	$inputFileType = 'Gnumeric';
$inputFileName = './book2.xlsx';
$sheetname = 'Sheet2';


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>