PHPExcel toArray пропускает первую строку заголовка

Я загружаю файл excel на веб-сайт и обрабатываю его для использования в базе данных.

Я использую функцию toArray() чтобы получить все строки в массиве php.

Но я хочу пропустить первую строку (заголовок заголовка). Остальные строки будут сохранены в массиве.

Как пропустить первую строку.

Примечание. Я не могу использовать rangeToArray() поскольку для получения строк в массиве не существует фиксированного диапазона. Это динамично. Все, что я хочу, это получить все строки, кроме первого.

    Эко отвечает на половину проблемы, вы можете использовать rangeToArray (); но вам не нужно использовать цикл вообще:

     $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); $sheetData = $sheet->rangeToArray( 'A2:' . $highestColumn . $highestRow, NULL,TRUE,FALSE ); 

    В качестве альтернативы используйте toArray() а затем просто unset первый элемент из возвращаемого массива

    Вы можете добиться этого, используя array_shift :

     $toArray = $worksheet->toArray() array_shift($toArray); 

    Я создаю функцию для чтения файла excel с использованием PHPExcel, как показано ниже:

     function Read_Excel($fname=null,$isheet=0,$irow=1,$icol='A'){ $inputFileName = $fname; try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } $sheet = $objPHPExcel->getSheet(intval($isheet)); $highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn(); for ($row = intval($irow); $row <= $highestRow; $row++){ // Read a row of data into an array $rowData = $sheet->rangeToArray($icol . $row . ':' . $highestColumn . $row,NULL,TRUE,FALSE); $rec_tbl[] = $rowData[0]; } return $rec_tbl; } 

    вам просто нужно изменить $irow=1 в параметрах функции, чтобы получить $irow=1 вам строку.