香港高速VIP云机房火爆上线啦!无需备案,开通即用!配套《巅云自助建站系统3.0》将带给您飞一般的可视化拖拽建站体验,欢迎免费体验。

建站专题

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

一佰互联网站开发设计(www.yinxi.net) 发布日期 2019-04-25 14:40:48 浏览数: 543

1、简介

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

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

该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel。

本地下载地址:http://xiazai.jb51.net/201710/yuanma/Laravel-Excel-2.1(jb51.net).rar

2、安装&配置

使用Composer安装依赖

本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出。

首先进入Laravel项目根目录下使用Composer安装依赖:

composer require maatwebsite/excel=~2.0 

安装后的设置

在 config/app.php 中注册服务提供者到 providers 数组:

MaatwebsiteExcelExcelServiceProvider::class,

同样在 config/app.php 中注册门面到 aliases 数组:

"Excel" => MaatwebsiteExcelFacadesExcel::class,

如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:

php artisan vendor:publish

执行成功后会在 config 目录下生成一个配置文件 excel.php 。

3、导出Excel文件

为了演示Laravel Excel相关功能,我们为本测试创建一个干净的控制器ExcelController.php:

php artisan make:controller ExcelController --plain

然后在routes.php中定义相关路由:

Route::get("excel/export","ExcelController@export");Route::get("excel/import","ExcelController@import");

接下来我们先在ExcelController.php中定义export方法实现导出功能:

<?phpnamespace AppHttpControllers;use IlluminateHttpRequest;use AppHttpRequests;use AppHttpControllersController;use Excel;class ExcelController extends Controller{ // Excel 文件到处功能 public function export() {  $cellData = [   ["学号","姓名","成绩"],   ["10001","AAAAA","99"],   ["10002","BBBBB","92"],   ["10003","CCCCC","95"],   ["10004","DDDDD","89"],   ["10005","EEEEE","96"],  ];  Excel::create("学生成绩",function ($excel) use ($cellData){   $excel->sheet("score", function ($sheet) use ($cellData){    $sheet->rows($cellData);   });  })->export("xls"); }}

也有一个方法是直接从数组导入

$sheet->fromArray($anyArray);

如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx即可。

如果还要将该Excel文件保存到服务器上,可以使用store方法:

Excel::create("学生成绩",function($excel) use ($cellData){  $excel->sheet("score", function($sheet) use ($cellData){   $sheet->rows($cellData);  });})->store("xls")->export("xls");

文件默认保存到storage/exports目录下,如果出现文件名中文乱码,将上述代码文件名做如下修改即可:

iconv("UTF-8", "GBK", "学生成绩")

4、导入Excel文件

我们将刚才保存到服务器上的Excel文件导入进来,导入很简单,使用Excel门面上的load方法即可:

//Excel文件导入功能 By Laravel学院public function import(){ $filePath = "storage/exports/".iconv("UTF-8", "GBK", "学生成绩").".xls"; Excel::load($filePath, function($reader) {  $data = $reader->all();  dd($data); });}

load方法基于项目根路径作为根目录,同样我们对中文标题进行了转码,否则会提示文件不存在。

在浏览器中访问http://laravel.app:8000/excel/import,页面显示如下:

使用Laravel Excel导入文件

当然,Laravel Excel还有很多其它功能,比如将Blade视图导出为Excel或CSV,以及对导入/导出更加细粒度的控制,具体可参考其官方文档:http://www.maatwebsite.nl/laravel-excel/docs

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对网页设计的支持。

一佰互联是全国知名建站品牌服务商,我们有九年网站建设、网站制作、网页设计、php开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

20
04月
html5使用Canvas绘图的使用方法

一、什么是CanvasCanvas 是H5的一部分,允许脚本语言动态渲染图像。Canvas 定义一个区域,可以由html属性定义该区域的宽高... >>详情

11
04月
一招教你让交互方案更靠谱!超好用的目标导向设

对于一枚交互设计师,设计水平的重要判断标准之一,是看设计师能否产出足够靠谱的方案。对内,方案要能帮助产品不断向前发展,提升产品的数据,为公司... >>详情

19
04月
网站备案新规导致海外繁荣与国内萧条

工信部在2月23下发了加强和核验网站备案的通知,此举一出,立刻引发媒体和业界关注,确切的说最关心的是IDC和站长们,这关系到他们的饭碗与爱好... >>详情

07
05月
你知道世界上第一个军用实验网络吗?

由于社会的发展,人类的进步,网络已经与人类的生活密不可分,譬如:网站设计能带来视觉享受,信心的传递;网络购物,是平时没有时间购物的上班族,可... >>详情

营业执照. cdn加速服务 备案系统认证 网络安全协会 我们的支付方式AAA认证
上海 北京 深圳 广州 天津 杭州 南京 武汉 成都 沈阳 大连 长沙 济南 青岛 苏州 福州 无锡 哈尔滨 宁波 重庆 大庆 厦门 西安 长春 珠海 郑州 海口 昆明 太原 石家庄 温州 合肥 乌鲁木齐 南宁 南通 合肥 兰州 呼和浩特 贵阳 烟台 秦皇岛 包头 唐山 银川 汕头 连云港 威海 西宁 湛江 北海 万州 涪陵 长寿 黔江 永川 丰都 忠县 江津 南川 开县 云阳 万盛 梁平 垫江 巫山 城口 建站宝盒 免费建站 门户网站建设 微信网站 手机网站 门户网站制作

7x24小时服务电话:18581389571 传真:023-85725751 免费建站交流群:236412099 139947842(自助建站交流) E-Mail:post@yinxi.net 网站投诉:
重庆楚捷科技有限公司 一佰互联©版权所有 自助建站(www.yinxi.net,Inc.) 2001-2020 All Rights Reserved 本站程序受法律保护,网站法律顾问:ITLAW-庄毅雄律师
中华人民共和国信息产业部网站备案号:渝ICP备12000592号