я использую MaatwebsiteБиблиотека для чтения и создания файла Excel. Создание было простым и интуитивно понятным, но когда дело доходит до чтения, я просто не могу понять это.
Вот как выглядит мой файл Excel:
Я понял, как проходить по строкам, но что меня смутило, что $ row в моем примере — это действительно тип строки, поэтому я не могу сделать $ row-> что-то;
В моем контроллере я хочу прочитать это так:
Excel::load('storage\\exports\\'. $fName, function($reader) {
$reader->each(function($sheet) {
Log::warning("sheet happens");
// Loop through rows
$sheet->each(function($row) {
Log::warning($row);
});
});
});
Это дает мне выход
[2016-01-28 06:42:05] local.WARNING: sheet happens
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING:
[2016-01-28 06:42:05] local.WARNING: sheet happens
[2016-01-28 06:42:05] local.WARNING: ocjena
[2016-01-28 06:42:05] local.WARNING: Kolokvijum 1 (%)
[2016-01-28 06:42:05] local.WARNING: Kolokvijum 2
[2016-01-28 06:42:05] local.WARNING: Kolokvijum 2 (%)
[2016-01-28 06:42:05] local.WARNING: Završni ispit (%)
[2016-01-28 06:42:05] local.WARNING: Završni ispit
Меня смутило, что вывод не в правильном порядке.
Меня смутило, что моя строка — это тип строки. Зачем?
Можно ли получить доступ к определенным ячейкам, как мы делаем в матрице: $ table [$ row] [$ column]; ?
Если вы не можете ответить на мой вопрос, я был бы очень признателен, если у вас есть какой-то кусок рабочего кода, так как в Интернете не так много документов.
РЕДАКТИРОВАТЬ: я обнаружил, что у меня есть несколько слов в заголовках, так что каким-то образом все это путается.
РЕДАКТИРОВАТЬ: Потому что в Интернете не так много документов, я чувствую, что я должен поделиться, что решил это.
Код решения:
$rows = Excel::load('storage\\exports\\'. $fName)->get();
Log::warning($rows);
Распечатывает:
[{"ime_studenta":"andrej","broj_indeksa":4,"kolokvijum_1":4,"kolokvijum_2":4,"zavrsni_ispit":44,"ukupno":4,"ocjena":4},{"ime_studenta":"as","broj_indeksa":342,"kolokvijum_1":123,"kolokvijum_2":57,"zavrsni_ispit":56,"ukupno":5656,"ocjena":56}]
Может быть, это полезно для вас
$rows = Excel::load('storage\\exports\\'. $fName)->get();
Других решений пока нет …