Laravel从数据库导出Excel laravel读取表格数据

自己写也可以,但是我选择用强大的包。
要求 : php: >=5.5
安装:

composer require "maatwebsite/excel:~2.1.0"

In Laravel 5.5 or higher, this package will be automatically discovered and you can safely skip the following two steps.
(如果Laravel版本>=5.5,则跳过以下两步!)

If using Laravel 5.4 or lower, after updating composer, add the ServiceProvider to the providers array in config/app.php
(如果版本<=5.4)那么就需要做以下配置,在config/app.php

Maatwebsite\Excel\ExcelServiceProvider::class,

You can use the facade for shorter code; if using Laravel 5.4 or lower, add this to your aliases:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

好了,直接进入使用环节:
的确简单强大,直接写个公共方法以便调用:

public function DownLoadDataList($data, $file_name = '访问统计信息表',$sheet_name='统计信息') {
        Excel::create($file_name, function ($excel) use ($data, $sheet_name) {
            $excel->sheet($sheet_name, function ($sheet) use ($data) {
                $sheet->fromModel($data)
                    ->freezeFirstRow(); #冻结第一行
            });
        })
            ->export('xlsx'); #导出格式为xlsx
$file_name:导出后的文件文件名;
$sheeet_name:导出后sheet名称;

注意:fromModel也可以直接改为fromArray,但是我们Model应该用的多一些,传参方式一样,具体细节可以参考手册。不用自行设置列名,会自动按照数据库的顺序写在第一行。

这里写图片描述

参考:
https://packagist.org/packages/maatwebsite/excel

更多用途:
http://www.maatwebsite.nl/laravel-excel/docs

读取excel数据:

public function readExcelOnly() {
    ini_set('memory_limit', '1500M'); //内存限制
    set_time_limit(0); //
    $files = Storage::allFiles('testData');
    foreach ($files as $key => $excel_file_path) {
        $excel_file_path = 'D:/phpStudy/WWW/' . $excel_file_path;
        $excel_data[] = Excel::load($excel_file_path)->get()->toArray();
    }
    return $excel_data;
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值