Laravel maatwebsite包数据导出问题

问题描述

我在laravel 7项目中使用maatwebsite软件包下载xlsx格式的数据表单数据库。 (参考链接:https://www.itsolutionstuff.com/post/laravel-6-import-export-excel-csv-file-tutorialexample.html) 但是我点击了导出按钮,正在下载一个没有任何数据的空文件。

控制器:

namespace App\Http\Controllers;
  
use Illuminate\Http\Request;

use Maatwebsite\Excel\Facades\Excel;
use DB;
  
class ExcelController extends Controller
{
    
    public function export() 
    {
        $user=DB::table('admin')->get();
        return Excel::download($user,'users.xlsx');
    }
 }

blade.php:

  <a class="btn btn-warning" href="{{ route('export') }}">Export User Data</a>

路线:

  Route::get('export','ExcelController@export')->name('export');

这只是下载一个空文件,如何以xlsx格式获取管理表的所有数据

解决方法

  1. 考虑您已经创建了--model模型,然后创建Export Class(在App\Admin参数中传递模型)。
php artisan make:export AdminsExport --model=Admin
  1. 写出口类:
<?php

namespace App\Exports;

use App\Admin;
use Maatwebsite\Excel\Concerns\FromCollection;

class AdminsExport implements FromCollection
{
    public function collection()
    {
        return Admin::all();
    }
}
  1. 将此代码写到您的控制器文件中
return Excel::download(new AdminsExport,'admins.xlsx');
,

以下是您使用maatwebsite包导出数据的示例代码:

web.php

Route::get('export','ExcelController@export')->name('export');

刀片文件

<a class="btn btn-warning" href="{{ route('export') }}">Export User Data</a>

app/Exports中创建导出类

您可以使用make:export命令来完成此操作。

php artisan make:export UsersExport --model=User

您可以使用试图从中下载数据的模型名称或表名称

可以在app/Exports中以Users Export的身份找到文件

    <?php

namespace App\Exports;

use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    public function collection()
    {
        //add your own code here. below is just a sample code
        return User::all();
    }
}

在您的控制器中,您可以立即调用此导出:

    <?php

namespace App\Http\Controllers;

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

class UsersController extends Controller 
{
    public function export() 
    {
        return Excel::download(new UsersExport,'users.xlsx');
    }
}

引用为here

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...