官网:https://docs.laravel-excel.com/

1、安装

1.1、安装要求:

PHP: ^7.0

Laravel: ^5.5

PhpSpreadsheet: ^1.6

PHP扩展已php_zip启用

PHP扩展已php_xml启用

PHP扩展已php_gd2启用

1.2、安装

//安装
composer require maatwebsite/excel

在laravel项目config/app.php中

//providers元素添加
Maatwebsite\Excel\ExcelServiceProvider::class, //aliases元素添加
'Excel' => Maatwebsite\Excel\Facades\Excel::class,

发布配置

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
//将自动建立一个新配置文件config/excel.php

2、导出

2.1、新建导出类

php artisan make:export TestExport
//执行后会在新建app/Export/TestExport.php文件

2.2、导出类实现FromArray接口

新建的export,默认实现的接口是FromCollection,更改为FromArray,实现array方法

FromCollection以后有机会再讲

一般导出会传个id,到数据库查数据,例子传了个id但没到数据库查询

use Maatwebsite\Excel\Concerns\FromArray;

class TestExport implements FromArray
{
private $id;
public function __construct($id)
{
$this->id = $id;
} public function array(): array
{
$data = [[$this->id,$this->id,$this->id],[1,2,3],[4,5,6],[7,8,9]];//测试数据
return $data;
}
}

2.3、控制器中导出

use Maatwebsite\Excel\Facades\Excel;

class TestController extends Controller
{
public function export($id)
{
return Excel::download(new TestExport($id),'test.xlsx');
}
}

2.4、定义路由

Route::get('/test/export/id/{id}', 'TestController@export');

2.5、结果

访问: xx.com/test/export/id/1 即可导出

3、导入

3.1、新建导入类

php artisan make:import TestImport
//执行后会在新建app/Export/TestExport.php文件

3.2、导入类实现FromArray接口

新建的import,默认实现的接口是ToCollection,更改为ToArray,实现array方法

ToCollection以后有机会再讲

use Maatwebsite\Excel\Concerns\ToArray;

class TestImport implements ToArray
{
public function array(array $array)
{
//处理导入数据$array
//...
return $array;
}
}

3.3、控制器导入

将上面导出的test.xlsx,放到/public/file目录下

public function import()
{
$array = Excel::toArray(new TestImport, public_path('/file/test.xlsx'));
dd($array);//简单的打印一下
}

3.4、定义路由

Route::get('/test/import', 'TestController@import');

3.5、结果

访问: xx.com/test/import 即可导出,

这里导入非手动选择,而是指定了文件路径/public/file/test.xlsx文件

结果:

Laravel Excel安装及最简单使用的更多相关文章

  1. Laravel excel安装与使用

    在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 时间 2015-11-17 18:40:56  Laravel学院 原文  http://lar ...

  2. Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

  3. 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  4. Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...

  5. laravel Excel导入导出

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...

  6. Laravel Homestead安装笔记

    引言: 最近开始学习laravel框架,了解到有个laravel homestead的box,开发起来非常方便快捷,于是就准备开始配置homestead虚拟开发环境了 什么是Homestead 要想学 ...

  7. laravel excel迁移到lumen

    1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出  ...

  8. Laravel Excel 实现 Excel-CSV 文件导入导出功能

    Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...

  9. 简简单单搞掂恼人的Laravel 5安装

    想折腾下Laravel 5了.Laravel是这世界上最好且没有之一的语言──PHP──的众多框架中的一个,是我比较感兴趣的PHP Web Framework. 但是安装Laravel可不是件容易的事 ...

随机推荐

  1. 并不对劲的bzoj5341:loj2553:uoj400:p4565:[Ctsc2018]暴力写挂

    题目大意 有两棵\(n\)(\(n\leq366666\))个节点的树,\(T\)和\(T'\),有边权 \(dep(i)\)表示在\(T\)中\(i\)号点到\(1\)号点的距离,\(dep'(i) ...

  2. iOS编码的一些规范

    1.实例变量instance variable,最好带上前缀下划线,例如 @interface  Person:NSObject { NSString *_name; int *_age; } @en ...

  3. 关于kafka-clients JAVA API的基本使用

    首先老规矩, 引入maven依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId&g ...

  4. bzoj 1565 [NOI2009]植物大战僵尸【tarjan+最大权闭合子图】

    一上来以为是裸的最大权闭合子图,上来就dinic -然后没过样例.不得不说样例还是非常良心的给了一个强连通分量,要不然就WA的生活不能自理了 然后注意到有一种特殊情况:每个植物向他保护的植物连边(包括 ...

  5. 洛谷P2787 语文1(chin1)- 理理思维(珂朵莉树)

    传送门 一看到区间推倒……推平操作就想到珂朵莉树 区间推平直接assign,查询暴力,排序的话开一个桶统计,然后一个字母一个字母加就好了 开桶统计的时候忘了保存原来的左指针然后挂了233 //mina ...

  6. [App Store Connect帮助]八、维护您的 App(5)生成产品报告

    您可以生成产品报告,详细介绍您所在机构中 App 目录的信息和设置,包括 App 内购买项目,以及 Game Center排行榜和成就的元数据. 首先您以不同类型请求产品报告,之后您会收到一封电子邮件 ...

  7. OKEX websocket API 连接Python范例

    因为 websocket-client 新版的各种大脑降级设计 很多功能无法使用需要安装老版本websocket-client的包才能正常使用 pip3 install websocket-clien ...

  8. 我的周记5——"侵略如火,不动如山"

    这周发生的事儿 最近同事晋升的参加答辩,还有的同事要转岗走了.难受... 有时候自己常常想,我是不是应该也要走了. 这儿的人好优秀呀,又舍不得离开.但是这里太安逸了,接触不到技术,靠自学呢 又感觉力不 ...

  9. IDEA3.5最新版激活码

    https://blog.csdn.net/zty1317313805/article/details/81503550 https://www.cnblogs.com/iathanasy/p/946 ...

  10. Windows下安装Ubuntu16.04双系统

    ROS需要在Ubuntu系统上开发,虚拟机跑Ubuntu开发ROS容易出现各种各样的问题,所以需要安装Ubuntu16.04双系统.笔者也是一步步按着网上的帖子来,由于网上的教程都不是最新的而且有的也 ...