官网: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. codeforces 686B B. Little Robber Girl's Zoo(水题)

    题目链接: B. Little Robber Girl's Zoo //#include <bits/stdc++.h> #include <vector> #include ...

  2. C# QRCode 二维码

    /*********************************************************************** * C# QRCode 二维码 * 说明: * 本文记 ...

  3. python-----从本地摄像头和网络摄像头截取图片

    import cv2 # 获取本地摄像头 # folder_path 截取图片的存储目录 def get_img_from_camera_local(folder_path): cap = cv2.V ...

  4. linux WEB服务器***

    Apache sudo apt-get install apache2 PHP sudo apt-get install php5 sudo apt-get install php5-gd     / ...

  5. 杂项-Java-百科:jar

    ylbtech-杂项-Java-百科:jar 在软件领域,JAR文件(Java归档,英语:Java ARchive)是一种软件包文件格式,通常用于聚合大量的Java类文件.相关的元数据和资源(文本.图 ...

  6. Ajax跨域访问等问题

    前端时间公司接口整顿,所有接口放一起了,然后我就写了一大堆API接口....... 今天用上了,公用人员库,前台通过ajax访问, 先是以‘json’作为数据格式进行访问,直接response fie ...

  7. 超强XSS攻击利器

    ======================================================================= BackTrack 5 R1 XSS研究之XSSer(超 ...

  8. 51nod 1119 机器人走方格 V2 【组合数学】

    挺水的但是我好久没写组合数了- 用这样一个思想,在1~m列中,考虑每一列上升几格,相当于把n-1个苹果放进m个篮子里,可以为空,问有几种方案. 这个就是一个组合数学经典问题了,考虑n个苹果放进m个篮子 ...

  9. VI/VIM修改Tab为4个空格

    配置方法 在当前用户目录下创建或修改~/.vimrc Root用户下修改/etc/virc 和 /etc/vimrc set ts= set softtabstop= set expandtab se ...

  10. Java SE 开篇

    一.  Java SE 开篇 1.  Java 基本数据类型及其对应的包装类 基本数据类型 对应的包装类 * byte Byte * boolean Boolean * char Character ...