2010-02-17 3 views
1

Я работаю над небольшим приложением, которое отображает таблицы Excel, в которых отображаются скобки турниров, а затем выводит данные Excel и форматирование в xml. Я использую Spreadsheet_Excel_Reader (https://code.google.com/archive/p/php-excel-reader/) для извлечения данных из электронных таблиц турнирной таблицы. Единственная проблема заключается в том, что никакая ячейка не будет помещена в массив Spreadsheet_Excel_Reader->sheets[0]['cells'], вследствие чего границы ячеек таблицы не будут выводиться. Похоже, что если я помещаю в каждую ячейку пробел, который я хочу отображать, он отлично работает, но это похоже на довольно хакерский способ сделать это. Кто-нибудь, если есть лучший способ вывода форматирования пустой ячейки с помощью Spreadsheet_Excel_Reader?php-excel-reader не отображает формат пустых ячеек

ответ

1

Я нашел этот вопрос после такой же проблемы (строка таблицы с 5 столбцами, 2 из них пустая, показаны как массив из 3 элементов, опуская 2 пустые ячейки).

Это заняло больше времени, чем я хотел, но я думаю, что понял это. Когда вы выгружаете данные строки, проверьте индексы.

array(5) { 
    ["maxrow"]=> 
    int(0) 
    ["maxcol"]=> 
    int(0) 
    ["numRows"]=> 
    int(2) 
    ["numCols"]=> 
    int(3) 
    ["cells"]=> 
    array(2) { 
    [1]=> 
    array(2) { 
     [1]=> 
     string(4) "test" 
     [2]=> 
     string(3) "xls" 
    } 
    [2]=> 
    array(2) { 
     [1]=> 
     string(5) "empty" 
     [3]=> 
     string(4) "test" 
    } 
    } 
} 

В моем случае, у меня есть пустая ячейка во втором ряду, между «пустым» и «тестом», и я могу видеть, что «тест», как индекс «3».

Что вам нужно (и мне) делать, а не использовать foreach(), обязательно перебирайте каждый ожидаемый индекс, используя for() или foreach (range()), заканчивающийся на numCols.

+0

забыл упомянуть, что я не использую тот же php-excel-reader, но я использую Spreadsheet_Excel_Reader из PEAR, на котором он был основан. – bibby

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