📜  Laravel-表格(1)

📅  最后修改于: 2023-12-03 15:17:17.345000             🧑  作者: Mango

Laravel-表格

Laravel-表格是一个用于构建数据表格的Laravel扩展包。它提供了一种简便的方法来呈现大量数据。

安装

使用Composer可以很容易地安装Laravel-表格扩展包:

composer require maatwebsite/excel

安装后,你需要在config/app.php文件的providers数组中添加ServiceProvider:

'Maatwebsite\Excel\ExcelServiceProvider',

你可以选择添加别名:

'Excel' => 'Maatwebsite\Excel\Facades\Excel',
基础使用

首先,在你的控制器中生成数据:

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

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

然后,创建一个UsersExport类:

use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::all();
    }
}

在视图文件中,你可以使用Laravel-表格进行指定样式的数据展示:

@php
    $styleArray = [
        'font' => [
            'bold' => true
        ]
    ];
@endphp

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Date of Birth</th>
        </tr>
    </thead>
    <tbody>
        @foreach($users as $user)
            <tr>
                <td>{{ $user->name }}</td>
                <td>{{ $user->email }}</td>
                <td>{{ $user->dob->format('d-m-Y') }}</td>
            </tr>
        @endforeach
    </tbody>
    <tfoot>
        <tr>
            <td colspan="3">Total: {{ $users->count() }}</td>
        </tr>
    </tfoot>
</table>
导出格式

Laravel-表格支持多种导出格式,例如CSV、TSV、Excel、HTML表格等。

CSV

CSV格式是Laravel-表格默认的格式,你可以通过store方法将数据存储到CSV文件中:

return Excel::store(new UsersExport, 'users.csv');
TSV

TSV格式和CSV格式十分相似,区别在于使用制表符而不是逗号来分隔数据:

return Excel::store(new UsersExport, 'users.tsv');
Excel

除了上述两种格式,Laravel-表格还支持生成Excel文件:

return Excel::store(new UsersExport, 'users.xlsx');
HTML表格

你还可以使用Laravel-表格将数据呈现为HTML表格:

return Excel::download(new UsersExport, 'users.html', \Maatwebsite\Excel\Excel::HTML);
总结

Laravel-表格是一个方便快捷的扩展包,可以轻松地将数据构建成各种格式的表格。无论你是想导出数据,还是将数据作为HTML表格展示,Laravel-表格都可以为你提供支持。