【问题标题】:Laravel excel: Excel::create equivalentLaravel excel:Excel::create 等价物
【发布时间】:2019-12-22 04:01:05
【问题描述】:

我正在尝试使用这个组件,我已经将它从 2.1 更新到 3.1,我的导出现在被破坏了方法 create 在这个新版本中不存在,或者我在文档中遗漏了一些东西。

 Excel::create()

Call to undefined method Maatwebsite\Excel\Excel::create()

【问题讨论】:

  • 你是not missing anything。升级指南说这些方法已被删除。可出口产品现在是首选方法。图书馆现在大不一样了。我鼓励您仔细阅读有关它的文档。
  • 我已经读过了,但我没有看到关于单元格操作的部分docs.laravel-excel.com/2.1/export/cells.html,类似于我们曾经使用过的$sheet->row

标签: php laravel laravel-5 eloquent laravel-excel


【解决方案1】:

这里是文档https://docs.laravel-excel.com/3.1/exports/
您必须在 de 文件夹中创建一个导出类:

应用程序/出口/

使用这个命令:

php artisan make:export UsersExport --model=User

将创建文件 UsersExport.php

namespace App\Exports;

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

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

在你的控制器中

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');
    }
}

在你的路线中

Route::get('users/export/', 'UsersController@export');

【讨论】:

【解决方案2】:

使用 laravel 插件在 excel 中导出数据

Excel::create('filename', function($excel) use ($data){

    $excel->sheet('filename', function($sheet) use ($data){
    $sheet->fromArray($data, null, 'A1', false, false);
    $sheet->cell('A1:Z1', function ($cells) {
            $cells->setFontWeight('bold');
        });
    $sheet->setWidth('A', 5);
    $sheet->cell('A1:A', function($cells) {
            $cells->setAlignment('center');
        });
    });
})->download('xlsx');  

【讨论】:

    猜你喜欢
    • 2019-05-18
    • 2017-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多