Laravel Excel安装及最简单使用
官网: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安装及最简单使用的更多相关文章
- Laravel excel安装与使用
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 时间 2015-11-17 18:40:56 Laravel学院 原文 http://lar ...
- Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...
- 在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 ...
- Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 ...
- laravel Excel导入导出
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和导出. 该 ...
- Laravel Homestead安装笔记
引言: 最近开始学习laravel框架,了解到有个laravel homestead的box,开发起来非常方便快捷,于是就准备开始配置homestead虚拟开发环境了 什么是Homestead 要想学 ...
- laravel excel迁移到lumen
1.简介 Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 ...
- Laravel Excel 实现 Excel-CSV 文件导入导出功能
Laravel Excel 是一款基于 PHPExcel 开发的Laravel框架专用的 Excel/CSV 文件导入导出功能的扩展包,用起来的非常方便. 它的 Github 地址是:https:// ...
- 简简单单搞掂恼人的Laravel 5安装
想折腾下Laravel 5了.Laravel是这世界上最好且没有之一的语言──PHP──的众多框架中的一个,是我比较感兴趣的PHP Web Framework. 但是安装Laravel可不是件容易的事 ...
随机推荐
- Ubuntu 搭建 LAMP 服务器
/******************************************************************** * Ubuntu 搭建 LAMP 服务器 * 说明: * 想 ...
- AppDomain加载与释放dll
AppDomain加载与释放dll 几年前写过同名随笔,但今天应不大适用了.但还有几个朋友留言关注,我重新发布相关代码. 首先我们的目的就是运行期间更新dll,并应用dll.这个过程需要应用 AppD ...
- VS2013在右键菜单添加命令插件开发
一.选择Visual Studio Package模板建立插件项目 由于此功能需要在右键菜单上添加命令,所以选择Visual Studio Package模板,根据模板向导步骤插件项目,在Select ...
- linux 远程杀掉进程
转自http://blog.csdn.net/tengdazhang770960436/article/details/53906263 第一步:获取进程号 pid=$(ssh root@$remot ...
- ie7 总结
1 ie7 对部分属性选择器严重区分大小写 在HTML中,属性名,例如id, title之类是不区分大小写的,CSS中的选择器也应该是如此.但是IE7对属性名是严格区分大小写的! 2 关于属性选择器, ...
- 从0开始学习Hadoop(1) 环境准备 Win7环境+VirtureBox+Ubuntu
虚拟机:VirtureBox 3.18 下载地址: https://www.virtualbox.org/ 操作系统:Ubuntu 版本:ubuntu-15.04-desktop-amd64.iso ...
- 利用jenv安装maven, tomcat,zookeeper等
jenv有关的网站: http://jenv.io https://github.com/gcuisinier/jenv 1. 执行jenv安装 $ curl -L -s get.jenv.io | ...
- Luogu P1197 [JSOI2008]星球大战 By cellur925
题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过特殊的以太隧 ...
- 关于新手html的认识 以及对table的基本用法
1.html语言 <!DOCTYPE html> 声明html <!--双标签--> <!--<html 属性名="属性值 " 属性名2=&qu ...
- 区间DP UVA 10453 Make Palindrome
题目传送门 /* 题意:问最少插入多少个字符使得字符串变成回文串 区间DP:dp[i][j]表示[l, r]的字符串要成为回文需要插入几个字符串,那么dp[l][r] = dp[l+1][r-1]; ...