官网: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. 创建cordova项目

    PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表.但是有一条跨平台,却是很明显的 ...

  2. HDU - 4333 Revolving Digits(拓展kmp+最小循环节)

    1.给一个数字字符串s,可以把它的最后一个字符放到最前面变为另一个数字,直到又变为原来的s.求这个过程中比原来的数字小的.相等的.大的数字各有多少. 例如:字符串123,变换过程:123 -> ...

  3. HubbleDotNet开源全文搜索数据库项目--技术详解

    HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene.Net 匹配相关度的比较 HubbleDotNet 软件架 ...

  4. 深入学习 Block

    本文翻译自苹果的文档,有删减,也有添加自己的理解部分. 如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block 为了方便对比,下面的代码我假设是写在ViewCon ...

  5. UI:沙盒

    IOS平台下,沙盒的本质就是一个文件夹 每一款IOS应用安装在手机上都会自动的生成一个文件夹.之所以叫沙盒,就是因为这个文件夹是每次运行随机产生的文件夹.沙盒文件夹是独立的,每个应用之间不能互相访问. ...

  6. .NET修改配置文件

    首先说明,本文参考了这个帖子http://www.cnblogs.com/henw/archive/2012/01/31/2333783.html,进行了一些补充 简要说来两种方法,一是把config ...

  7. C#6.0的新特性之内插字符串

    https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interpolated-strings C# 6 ...

  8. redis发布(pub)、订阅(sub)模式

    前言:redis提供了很多种功能或模式,可以运用在不同的场景下,今天记录下redis中的发布.订阅模式的基本使用 注redis安装及主从搭建请参考我其他博文http://www.cnblogs.com ...

  9. Chrome应用商店打不开解决方法

    方法一.谷歌访问助手(推荐) 谷歌访问助手是一款免费的谷歌代理插件,不用配置即可打开Chrome应用商店,而且速度很不错. 1.根据自己使用的浏览器点击对应版本的插件.详细安装都在下面链接中. 下载地 ...

  10. springboot(十一)SpringBoot任务

    github地址: https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service 1 ...