2016-02-08 5 views
1

Я трюк, чтобы читать все столбцы из файла excel, но его число варьируется в зависимости от строки. Например: Row1, col2, COL3, COL4 Стр2, col2, col3 Row3, col2, col3, COL4, col5, col6Найти самый высокий столбец в строке PHPExcel

Я пытаюсь сделать что-то вроде:

for ($row = 1; $row < 2; $row++){ 
    $rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, 
            NULL, 
            TRUE, 
            FALSE); 
    echo print_r($rowData[0][0]); 
    echo "<br>"; 
    $list_of_coordinates = ""; 
    $i = 1; 
    //echo print_r($rowData[$row][$i+1]); 
    while($rowData[0][$i+1] != ""){ 
     /*$list_of_coordinates = $list_of_coordinates . 
          "," . 
          $rowData[0][$i+1] . 
          "," . 
          $rowData[0][$i]; 
     */ 
     $i+2; 
    } 
    $list_of_coordinates = ltrim($list_of_coordinates, ","); 
    echo $list_of_coordinates; 
    echo "<br>"; 
    } 

Но $ highcolumn имеет номер столбца максимальной, в этом файле: BM. Но некоторые из строк имеют только 3 или 4 столбца. Можно ли обновить этот номер? МОЙ цикл while не работает прямо сейчас.

+1

Нам нужна Марк Бейкер в этой теме, он Гуру PHPExcel. – rahul

ответ

1

Методы getHighestColumn() и getHighestDataColumn() принимают необязательный номер строки в качестве аргумента. Если вы вызовете без каких-либо аргументов, они вернут самый высокий номер столбца на листе; но если вызывается с номером строки, они вернут самый высокий столбец в указанной строке.

Однако в качестве альтернативы вы можете использовать итераторы строк и столбцов только для существующих ячеек (см. 28iterator.php в /Examples).

+0

Я мог бы заставить его работать с этим примером. Спасибо, Марк – Biribu

Смежные вопросы