首页 > 解决方案 > 导出excel文件maatwebsite laravel

问题描述

我阻止从 laravel 上的表中导出 excel 文件,这是我的控制器:

    <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Excel;

class ExportExcelController extends Controller
{
  function Export()
  {
    $customer_data = DB::table('qualys')->get();
    return view('export_excel')->with('customer_data', $customer_data);
  }
  function excel()
  {
    $customer_data = DB::table('qualys')->get();
    $customer_array[] = array('ip','qid');
    // dd($customer_data);
    foreach($customer_data as $customer)
    {
      // dd($customer);
       $customer_array[] = array(
                 'ip' => $customer->qid,
                 'qid' => $customer->ip
      );
    }


     Excel::download('customer data', function($excel) use ($customer_array) {
          $excel->setTitle('customer Data');
         $excel->sheet('Customer Data', function($sheet) use ($customer_array)
          {
            $sheet->fromArray($customer_array, null, 'A1', false, false);
          });
     })->download('xls', 'test');
  }
}

我在第 29 行被阻止,我无法取回文件,这是以下错误:

Argument 2 passed to Maatwebsite\Excel\Excel::download() must be of the type string, object given, called in /var/www/html/qualys/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 223

我已经测试了几个“代码”但没有任何效果:(你能帮我吗?诚挚的。

标签: phplaravellaravel-5frameworks

解决方案


没关系,我想出了如何使用最新版本 -> 第一个输入命令:

php artisan make:export UsersExport --model=User

然后创建模型你要导出的数据库

php artisan make:model User

然后我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Excel;
use App\Exports\QualysExport;
use App\Http\Controllers\Controller;

class ExportExcelController extends Controller
{
  function Export()
  {
    $customer_data = DB::table('user')->get();
    return view('export_excel')->with('customer_data', $customer_data);
  }

      public function excel()
      {
          return Excel::download(new UserExport, 'Users.xlsx');
      }

}

然后是下载文件的路径:

 Route::get('/excel_export/excel', 'ExportExcelController@excel')->name('export_excel.excel');

下载来了!真挚地


推荐阅读