壹号娱乐app官网

laravel怎样做导入导出excel

laravel 是一款常用的 php 开发框架,它具有快速开发、易于维护等特点 。在现实开发中,经常涉及到数据的导入和导出,更详细一些,就是 excel 文件的导入和导出 。laravel 怎样实现数据的导入和导出呢?本文将先容怎样通过 laravel 实现 excel 文件的导入和导出 。

一、装置 Laravel Excel

Laravel Excel 是一个针对 PHPExcel 的封装,它可以轻松地实现 Excel 文件的导入和导出 。因此,在实现导入和导出之前,我们需要首先装置 Laravel Excel 。

通过 Composer 举行装置,执行如下下令:

composer require maatwebsite/excel

登录后复制

装置完成后,需要在 config/app.php 中添加以下内容:

'providers' => [
    // ...
    MaatwebsiteExcelExcelServiceProvider::class,
],

'aliases' => [
    // ...
    'Excel' => MaatwebsiteExcelFacadesExcel::class,
]

登录后复制

二、Excel 文件导出

首先,我们来看怎样导出 Excel 文件 。Laravel Excel 提供了一种类似于界说数据库数据模子的方法来界说 Excel 文件的导出 。我们可以通过一个 Excel 模板来界说导出的 Excel 文件内容,然后将数据填充到模板中 。下面是详细的实现要领:

1.界说 Excel 文件模板

在项目的根目录下执行如下下令:

php artisan make:export UsersExport --model=User

登录后复制

该下令将在 app/Exports 目录下天生一个名为 UsersExport 的类 。该类实现了 FromModel 接口,用于将数据从模子中导出到 Excel 文件中 。

2.填充数据

界说 Excel 文件模板后,我们需要通过代码向其中填充数据 。代码实现如下:

namespace AppHttpControllers;

use AppExportsUsersExport;
use AppHttpControllersController;
use MaatwebsiteExcelFacadesExcel;

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

登录后复制

3.天生 Excel 文件

在完成数据填充后,就可以天生 Excel 文件了 。执行导出操作,代码实现如下:

Excel::download(new UsersExport, 'users.xlsx');

登录后复制

以上代码将会天生一个名为 users.xlsx 的 Excel 文件 。

三、Excel 文件导入

导入 Excel 文件与导出 Excel 文件类似,同样需要有一个数据模子,用于将 Excel 文件中的数据导入到数据库中 。以下是详细的实现要领:

1.界说 Excel 文件模板

首先,需要界说一个 ContractsFromView 接口来实现数据填充,代码实现如下:

namespace AppImports;

use IlluminateContractsViewView;
use MaatwebsiteExcelConcernsFromView;

class UsersImport implements FromView
{
    private $users;

    public function __construct(array $users)
    {
        $this->users = $users;
    }

    public function view(): View
    {
        return view('exports.users', [
            'users' => $this->users
        ]);
    }
}

登录后复制

在实现接口之后,需要在 resources/views/exports 目录下界说一个名为 users.blade.php 的文件,代码如下:

<table>
    <thead>
    <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Gender</th>
    </tr>
    </thead>
    <tbody>
    @foreach($users as $user)
        <tr>
            <td>{{ $user['name'] }}</td>
            <td>{{ $user['email'] }}</td>
            <td>{{ $user['gender'] }}</td>
        </tr>
    @endforeach
    </tbody>
</table>

登录后复制

这个模板将会把用户数据填充到一个 HTML 表格中 。

2.导入 Excel 文件

在界说数据模子之后,就可以通过 Laravel Excel 的Excel::import函数将数据导入到数据库中了,详细代码如下:

namespace AppHttpControllers;

use AppImportsUsersImport;
use MaatwebsiteExcelFacadesExcel;

class UsersController extends Controller
{
    public function import()
    {
        $file = request()->file('file');

        $users = Excel::toArray(new UsersImport, $file);

        // 可以在此处将 $users 插入数据库
    }
}

登录后复制

在上述代码中,我们首先通过输入框选择 Excel 文件,然后获取 Excel 文件,将其转化为数组类型 。关于导入的数据,我们可以在 // 可以在此处将 $users 插入数据库 处将其插入到数据库中 。

四、总结

Laravel Excel 已经为我们提供了类似于数据库操作的方法,使 Excel 文件导入和导出变得很是简朴 。Laravel Excel 可以与 Eloquent 模子无缝协作,同时也支持其他名堂的文件,例如 CSV、PDF 和 HTML 。我们只需要凭证上述要领装置 Laravel Excel 并界说合适的模子即可在 Laravel 中实现数据的导入和导出 。

以上就是laravel怎样做导入导出excel的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表壹号娱乐app官网滤油机网官方立 。攵琳呓鲎霾慰 。本文接待转载,转载请说明来由 。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系壹号娱乐app官网实时修正或删除 。

相关新闻

联系壹号娱乐app官网

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】