Laravel 5.3从文件导入CSV而不上传

时间:2016-12-07 10:46:29

标签: laravel csv laravel-5 file-get-contents maatwebsite-excel

我使用Maatwebsite / Excel导入CSV文件。我的代码看起来像这个教程:http://itsolutionstuff.com/post/laravel-5-import-export-to-excel-and-csv-using-maatwebsite-exampleexample.html 我支持这两个函数,我的脚本获取文件并返回文件/

但尽管经过多次尝试,我仍然无法上传文件。这意味着,我在特殊文件夹中有CSV文件,我想让这个文件处理数据,而不上传。它会自动获取文件(可能是file_get_contents?),并将其传递给Illuminate \ Support \ Facades \ Input。

3 个答案:

答案 0 :(得分:2)

这是在laravel 5中导入csv的完美方式。*

 public function importExcel() {
    if (Input::hasFile('import_file')) {
        $path = Input::file('import_file')->getRealPath();
        $data = Excel::load($path, function($reader) {

                })->get();
        if (!empty($data) && $data->count()) {
            $count = 0;
            foreach ($data as $key => $d) {
                $insert = array();
                $insert['name'] = $value->name;
                $this->user->create($insert);
            }
        }
    }
}

答案 1 :(得分:0)

您可以使用此代码

阅读您的Excel文件
var jsonObj = [
    {
      "AnswerDate": "2016-06-06T00:00:00",
      "TOTE": 1,
      "Title2": "شاخص های عمومی ارزیابی عملکرد",
      "ExpireDate": "1395/03/17",
      "TemplateID": 4259,
      "EFQMPivotID": 1,
      "Title": "برنامه مهندسی نقش و ساختار دولت",
      "Wieght": 240.00000000,
      "Value": "239.70464100",
      "CountPivot": "true",
      "AnswerExpireDate": "2016-06-06T00:00:00",
      "GrantStart": "2016-05-10T00:00:00",
  "Status":"True,True,True,False,False,False,True,True,True,True,True,False,False,False,False,False,False,True,True,True,False,False,False,False,1,True,False,2,False,False,False,0,1,1"
  }
]
var status = jsonObj[0].Status;
var statusElements = status.split(',');
var res = statusElements[statusElements.length - 1];
console.log(res);

答案 2 :(得分:0)

我找到了解决方案。我们可以跳过设置为CSV文件路径的if (Input::hasFile('import_file')) {$path变量