未定义的变量:ZipArchive.php第173行

时间:2017-09-02 08:11:58

标签: php laravel-5

我想在laravel中导入xls文件并导出数据库中的数据。 但是我在导入

时遇到以下错误
  

at HandleExceptions-> handleError(8,'未定义变量:内容',' C:\ Users \ Kuldeeo \ Downloads \ app \ vendor \ phpoffice \ phpexcel \ Classes \ PHPExcel \ Shared \ ZipArchive.php',174,数组(' fileName' =>' _rels / .rels',' list' => 0,&# 39; listCount' => 1,' list_index' => -1,' i' => 1,'提取' => 0 ,' filename' =>' rels / .rels'))

我尝试过添加

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

在Reader / Excel2007.php和Writer / Excel2007.php

甚至多次更新了作曲家。下载xls文件正在工作,但导入它,正在产生错误。 请帮助.....

1 个答案:

答案 0 :(得分:0)

我在laravel中使用package = "maatwebsite/excel": "^2.1"来导入xls文件并像这样存储在DB中我希望它可以帮到你。

Route::get('/route_name', function () {
   \Excel::load("file_path/file_name.xls", function($reader) {
        $sheetTitle = array();
        $results = $reader->all();
        foreach($results as $key=>$sheet)
        {
            $sheetTitle[$key]["id"] = (int)$sheet->id;
            $sheetTitle[$key]["plan_id"] = (int)$sheet->plan_id;
            $sheetTitle[$key]["description"] = $sheet->description;
        }
        \DB::table('table_name')->insert($sheetTitle);
        return dd(\DB::table('table_name')->get());
    });
});

idplan_iddescription是Excel文件的标题(第一行)。

更新

或者你可以在控制器中使用

Route::post('/route_name', 'UserController@importData');

并在UserController

function importData(Request $request){
     \Excel::load($request->file('excel_file'), function($reader) {
     .....//All code will be same as above.
}