2015-11-20 5 views
1

Я использую maatwebsite Laravel Excel, и то, что я пытаюсь сделать, это импортировать csv, а затем отображать результаты в представлении.Laravel 5 Excel Import to View

У меня нет никаких проблем с импортом CSV, а затем сброс результатов, как так:

object(Maatwebsite\Excel\Collections\RowCollection)#464 (2) { 
    ["title":protected]=> 
    string(9) "Worksheet" 
    ["items":protected]=> 
    array(3) { 
    [0]=> 
    object(Maatwebsite\Excel\Collections\CellCollection)#472 (2) { 
     ["title":protected]=> 
     NULL 
     ["items":protected]=> 
     array(2) { 
     ["name"]=> 
     string(11) "Owen Kelley" 
     ["age"]=> 
     float(29) 
     } 
    } 
    [1]=> 
    object(Maatwebsite\Excel\Collections\CellCollection)#473 (2) { 
     ["title":protected]=> 
     NULL 
     ["items":protected]=> 
     array(2) { 
     ["name"]=> 
     string(9) "Jim Jones" 
     ["age"]=> 
     float(50) 
     } 
    } 
    [2]=> 
    object(Maatwebsite\Excel\Collections\CellCollection)#474 (2) { 
     ["title":protected]=> 
     NULL 
     ["items":protected]=> 
     array(2) { 
     ["name"]=> 
     string(10) "Sally Anne" 
     ["age"]=> 
     float(35) 
     } 
    } 
    } 
} 

Вот код в мой контроллер:

public function show() 
{ 
    $results = Excel::load('public\uploads\file.csv', function($reader) { 

     $reader->select(array('name', 'age'))->get(); 


    }); 

    return view('excel.show', compact('results')); 

} 

Как я уже говорил ранее, если меняется: return view('excel.show', compact('results')); Для

$results->dump(); 

Тогда я могу увидеть все данные в таблице, но я не знаю, как передать эти данные вместе с представлением.

Может ли кто-нибудь помочь мне с этим?

Я знаю, что это то, что я должен знать уже, если я пытаюсь выполнить эту задачу, но я все еще очень новичок в кодировании и нахожусь в сжатые сроки.

Спасибо.

+0

ли вы поделиться файл вида? Каков результат, когда вы возвращаете представление? –

ответ

1

Если $results->dump() работ, передающих его на вид, очень вероятно также сработает.

Мое предположение, что Laravel не может найти excel.show в ваших взглядах. Можете ли вы показать нам файл excel.show и проверить правильность разрешений?

0

Попробуйте этот код:

$file= "test.xls"; 
    $data = Excel::load($file, function($reader) { 

     foreach($reader->toArray()[0] as $row){    

     } 
    })->get()->toArray()[0]; 

    return view('upload_load',compact('data')); 
+0

Проверьте код вашего ответа. Похоже, что это болтливый макрос конца комментария. – ajmccall