PHPExcel - How can i read the Excel sheet row by row

前端 未结 4 1693
长发绾君心
长发绾君心 2020-12-11 16:41

How can i read Excel worksheet row by row using PHPExcel? I have a sheet contains more than 100000 rows, but i want to read only 500 rows.

$sheetData = $objP         


        
4条回答
  •  无人及你
    2020-12-11 17:11

    If you only want to read 500 rows, then only load 500 rows using a read filter:

    $inputFileType = 'Excel5';
    $inputFileName = './sampleData/example2.xls';
    
    
    /**  Define a Read Filter class implementing PHPExcel_Reader_IReadFilter  */
    class myReadFilter 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 >= $this->_startRow && $row < $this->_endRow)) {
                return true;
            }
            return false;
        }
    }
    
    
    /**  Create a new Reader of the type defined in $inputFileType  **/
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    
    
    /**  Define how many rows we want to read for each "chunk"  **/
    $chunkSize = 500;
    /**  Create a new Instance of our Read Filter  **/
    $chunkFilter = new myReadFilter();
    
    /**  Tell the Reader that we want to use the Read Filter that we've Instantiated  **/
    $objReader->setReadFilter($chunkFilter);
    
    /**  Tell the Read Filter, the limits on which rows we want to read this iteration  **/
    $chunkFilter->setRows(1,500);
    /**  Load only the rows that match our filter from $inputFileName to a PHPExcel Object  **/
    $objPHPExcel = $objReader->load($inputFileName);
    

    See the PHPExcel User Documentation - Reading Spreadsheet Files document in /Documentation for more details on Read Filters

提交回复
热议问题