Getting problem reading large file using PHPExcel

Topics: Developer Forum
Apr 25, 2014 at 1:28 PM
Edited Apr 25, 2014 at 1:29 PM
Hi,

Please help me
I am getting problem reading large excel file using PHPExcel file
I am passing excel tha have 93 rows so actually it should read row like 1-10 then 11-20...upto 90 but when we are printing row count it is printing below like this

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450

but it should print 1...93 as total 93 rows in excel file

we have large file but we rae taking as sample of 93 rows

Below is my code
  class chunkReadFilter implements PHPExcel_Reader_IReadFilter
{
        private $_startRow = 0;

        private $_endRow = 0;

        /**  Set the list of rows that we want to read  */
        public function setRows($startRow, $chunkSize) {
                $this->_startRow    = $startRow;
                $this->_endRow        = $startRow + $chunkSize;
        }

        public function readCell($column, $row, $worksheetName = '') {
                //  Only read the heading row, and the rows that are configured in $this->_startRow and $this->_endRow
                if (($row == 1) || ($row >= $this->_startRow && $row < $this->_endRow)) {
                        return true;
                }
                return false;
        }
}

$inputFileType = PHPExcel_IOFactory::identify($file_path);
/ Create a new Reader of the type that has been identified /
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);

$total_sheet_rows = 90;

/**  Define how many rows we want to read for each "chunk"  **/ 
$chunkSize = 10; 
/**  Create a new Instance of our Read Filter  **/ 
$chunkFilter = new chunkReadFilter(); 

/**  Tell the Reader that we want to use the Read Filter  **/ 

$objReader->setReadFilter($chunkFilter); 

$row_count = 0;
/ Loop to read our worksheet in "chunk size" blocks /
for ($startRow = 1; $startRow <= $total_sheet_rows; $startRow += $chunkSize) { 


$chunkFilter->setRows($startRow,$chunkSize);


$objPHPExcel = $objReader->load($file_path);
$objWorksheet = $objPHPExcel->getActiveSheet(); 




foreach ($objWorksheet->getRowIterator() as $row)
{

        $row_data = array();
        $cellIterator = $row->getCellIterator();
        $cellIterator->setIterateOnlyExistingCells(false);

        $row_count++;
        echo $row_count;
}   
$objPHPExcel->disconnectWorksheets(); 
unset($objPHPExcel, $objWorksheet, $cellIterator);