Найти самый высокий столбец в строке PHPExcel

Я пытаюсь прочитать все столбцы из файла Excel, но его число является переменной в зависимости от строки. Например: Row1, col2, col3, col4 Row2, col2,col3 Row3,col2,col3,col4,col5,col6

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

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>";
  }

Но в этом файле $ самый высокий столбец имеет максимальный номер столбца: BM. Но некоторые строки имеют всего 3 или 4 столбца. Можно ли обновить этот номер? Мой цикл пока не работает.

1 ответ

Решение

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

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

Другие вопросы по тегам