手机版

详细说明Laravel 5使用Laravel Excel导入导出Excel/CSV文件的功能

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

1.介绍

本文主要介绍了Laravel 5使用Laravel Excel导入导出Excel/CSV文件的相关内容。下面就不多说了。我们来看看详细的介绍。

Laravel Excel在Laravel 5中集成了PHPOffice Suite中的PHPExcel,方便我们导入导出Excel/CSV文件,代码优雅且富有表现力。

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

本地下载地址:http://xiaozai.jb51.net/201710/yuanma/laravel-excel-2.1(jb51.net)

2.安装配置

使用Composer安装依赖项

在本文中,我们将在Laravel中使用Laravel Excel来简单地导入和导出Excel文件。

首先,输入Laravel项目的根目录,并使用Composer安装依赖项:

Composer需要maat网站/excel=~ 2.0安装后设置

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

玛特网站\ excel \ excelservice provider :3360类,也在config/app.php中注册facade到aliases数组:

excel '=maatwebsite \ excel \ facades \ excel :3360 class。如果您想更多地自定义Laravel Excel,请执行以下Artisan命令:

成功执行php artisan vendor:publish后,将在配置目录中生成一个配置文件excel.php。

3.导出Excel文件

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

Php artisan制作:控制器excel controller-plain,然后在routes中定义相关的路由。

route : get(' excel/export ','[email protected]');route : get(' excel/import ','[email protected]');接下来,我们在ExcelController.php定义导出方法来实现导出功能:

?phpnamespace App \ Http \ Controllers;使用照明\ Http \ Request使用App \ Http \ Requests使用App \ Http \ Controller \ Controller;使用ExcelClass excel controller扩展controller {//excel文件函数无处不在public function export(){ $ celldata=[[' student id ',' name ','成就'],['10001 ',' aaaaa ',' 99'],['10002 ',' bbbbbbb ',' 92'],['10003 ',' CCCCC ',' 95'],['10004 ',' dddddddd ',' 89'],['10005 ',' EEEEE ',' 96 '];Excel:create('学生成绩',function($ excel)use($ cell data){ $ excel-sheet('分数',function($ sheet)use($ cell data){ $ sheet-rows($ cell data);});})-export(' xls ');} }

还有一种直接从数组导入的方法

$ sheet-from array($ anyArray);如果您想要导出csv或xlsx文件,只需将导出方法中的参数更改为csv或xlsx即可。

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

Excel:create('学生成绩',function($ excel)use($ cell data){ $ excel-sheet('分数',function($ sheet)use($ cell data){ $ sheet-rows($ cell data);});})-存储(' xls ')-导出(' xls ');默认情况下,文件保存到存储/导出目录中。如有中文乱码文件名,修改上述代码文件名如下:

Iconov ('utf-8 ',' gbk ','学生成绩')4。导入Excel文件

我们将导入刚刚保存在服务器上的Excel文件。导入非常简单,可以在Excel facade上使用load方法:

//Excel文件导入函数By Laravel College公共函数import(){ $ file path=' storage/exports/'。iconv ('utf-8 ',' gbk ','学生成绩')。xls ';Excel:load($filePath,function($ reader){ $ data=$ reader-all();dd(数据);});}load方法是以项目根目录路径为根目录,我们对中文标题进行转码,否则会提示文件不存在。

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

使用Laravel Excel导入文件

当然,Laravel Excel还有很多其他功能,比如将Blade视图导出到Excel或者CSV,对导入/导出的控制更加精细。详情请参阅其官方文件:http://www.maatwebsite.nl/laravel-excel/docs

摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。有问题可以留言交流。谢谢你的支持。

版权声明:详细说明Laravel 5使用Laravel Excel导入导出Excel/CSV文件的功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。