1

我正在使用 maatwebsite Laravel Excel,我想做的是导入 csv,然后在视图中显示结果。

我对导入 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();

然后我可以看到表中的所有数据,但我不知道如何将这些数据传递给视图。

谁能帮我这个?

如果我正在尝试完成这项任务,我知道这是我应该知道的,但我对编码仍然很陌生,而且截止日期很紧。

谢谢。

4

2 回答 2

1

如果$results->dump()将其传递给视图的工作很可能也可以工作。

我的猜测是 Laravel 在您的视图中找不到 excel.show 。你能给我们看一下 excel.show 文件,并验证权限是否正确吗?

于 2015-11-20T20:31:30.530 回答
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'));
于 2017-05-26T12:35:55.733 回答