urionz/excel

为Laravel提供强大的Excel导出和导入功能


README

Laravel Excel

Laravel Excel 3.1

💪 🔥 🚀

强大的Excel导出和导入
围绕 PhpSpreadsheet 的简单而优雅的包装,旨在简化导出和导入。

Build Status StyleCI Latest Stable Version Total Downloads License

快速入门 · 文档 · Nova · 博客 · 贡献 · 支持

  • 轻松将集合导出到Excel。 为您的Laravel集合提供动力,并将其直接导出到Excel或CSV文档。导出从未如此简单。

  • 强大的导出。 使用自动分块导出查询以提高性能。您提供查询,我们处理性能。导出更大的数据集?无需担忧,Laravel Excel支持您。您可以排队导出,这样所有这些操作都会在后台完成。

  • 强大的导入。 使用分块读取和批量插入将工作簿和电子表格导入Eloquent模型!文件大?您可以排队每个文件块!您的整个导入将在后台完成。

  • 导出Blade视图。 想要在电子表格中有自定义布局?在Blade视图中使用HTML表格,并将其导出到Excel。

🚀 5分钟快速入门导出

💡 在您的Laravel项目的 composer.json 中要求此包。这将下载包和PhpSpreadsheet。

composer require maatwebsite/excel

💪 在 App/Exports 中创建一个导出类

php artisan make:export UsersExport --model=User

这将创建以下内容

<?php

namespace App\Exports;

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

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

🔥 在您的控制器中现在可以调用此导出

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

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

📄 在您的下载文件夹中找到 users.xlsx

有关更多安装说明,请参阅: https://laravel-excel.maatwebsite.nl/3.1/getting-started/installation.html

🚀 5分钟快速入门导入

💪 在 App/Imports 中创建一个导入类

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

php artisan make:import UsersImport --model=User

如果您更喜欢手动创建导入,您可以在 App/Imports 中创建以下内容

<?php

namespace App\Imports;

use App\User;
use Illuminate\Support\Facades\Hash;
use Maatwebsite\Excel\Concerns\ToModel;

class UsersImport implements ToModel
{
    /**
     * @param array $row
     *
     * @return User|null
     */
    public function model(array $row)
    {
        return new User([
           'name'     => $row[0],
           'email'    => $row[1], 
           'password' => Hash::make($row[2]),
        ]);
    }
}

🔥 在您的控制器中现在可以调用此导入

use App\Imports\UsersImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

class UsersController extends Controller 
{
    public function import() 
    {
        Excel::import(new UsersImport, 'users.xlsx');
        
        return redirect('/')->with('success', 'All good!');
    }
}

📄 在您的数据库中找到导入的用户!

🎓 学习Laravel Excel

您可以在网站上找到Laravel Excel的完整文档 在这里

我们欢迎对改进我们文档的建议。文档存储库可以在 这里 找到。

在我们的博客上可以找到一些文章和教程: 在这里

🔧 支持的版本

版本将在有限的时间内得到支持。

📬 许可证 & Postcardware

我们的软件是开源的,并使用MIT许可证。

如果您在生产环境中使用本软件,我们非常希望能收到您家乡的明信片。请将它发送至:

Maatwebsite
Markt 2
6231 LS, Meerssen
荷兰

关于许可证的更多信息,请访问:https://laravel-excel.maatwebsite.nl/3.1/getting-started/license.html