laravel 导出/导入excel /csv

  • 安装包
composer require maatwebsite/excel
  • 安装后的设置在config/app.php中注册服务提供者到providers数组:
Maatwebsite\Excel\ExcelServiceProvider::class,
  • 同样在config/app.php中注册门面到aliases数组:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
  • 如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:
php artisan vendor:publish

执行成功后会在config目录下生成一个配置文件excel.php

  • 创建数据表迁移测试
 php artisan make:model ExcelTel -m
Schema::create('excel_tels', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('title');
            $table->timestamps();
        });

执行迁移 php artisan migrate
  • 生成测试数据
php artisan tinker

>>> factory(App\ExcelTel::class, 10000)->create();
  • 导出
 public function export()
 {
    /*
      * 如果你要导出csv或者xlsx文件,只需将 export 方法中的参数改成csv或xlsx即可。
      * 如果还要将该Excel文件保存到服务器上,可以使用 store 方法:
      */
        $items = ExcelTel::get()->toarray();
        $header = ['id','姓名','标题','创建时间','更新时间'];
        foreach ($items as $key=>$item){
            $cellData[] =  array_values($item);
        }
        array_unshift($cellData,$header);

        Excel::create('excel',function($excel) use ($cellData){
            $excel->sheet('excel', function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->store('csv')->export('csv');
 }
  • 导入
public function import(Request $request)
    {

        $filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', 'excel').'.xls';

        \Excel::load($filePath, function($reader) {
            $data = $reader->all()->toarray();
            //$results = $reader->get()->toArray();
         dd($data);
        });
        return 'Ok';
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值