laravel5 Excel Excel/CSV 文件导入导出功能
在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
Posted on 2015年11月17日 by 学院君 注意版本2.1
1、简介
Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和导出。
该项目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel。
本文我们将在Laravel中使用Laravel Excel简单实现Excel文件的导入和导出。
2、安装&配置
使用Composer安装依赖
首先在Laravel项目根目录下使用Composer安装依赖:
composer require maatwebsite/excel 2.1
安装后的设置
在config/app.php
中注册服务提供者到providers
数组:
Maatwebsite\Excel\ExcelServiceProvider::class,
同样在config/app.php
中注册门面到aliases
数组:
'Excel' => Maatwebsite\Excel\Facades\Excel::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 App\Http\Controllers;use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;use Excel;class ExcelController extends Controller
{//Excel文件导出功能 By Laravel学院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');}
}
我们在浏览器中访问http://laravel.app:8000/excel/export
,会导出一个名为学生成绩.xls
的Excel文件:
如果你要导出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
,页面显示如下:
laravel5 Excel Excel/CSV 文件导入导出功能相关推荐
- excel对csv文件导入导出
导入csv文件 Private Sub Inport_Renkei_CSV_Click_Click()Dim rowIndex As Integer, item As IntegerDim fileN ...
- 【Laravel】使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能
一.安装配置 使用Composer安装依赖: composer require maatwebsite/excel 发布配置(可选): php artisan vendor:publish --pro ...
- Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)
Laravel Excel实现Excel/CSV文件导入导出(合并单元格,设置单元格样式) 这篇文章主要给大家介绍了关于在Laravel中如何使用Laravel Excel实现Excel/CSV文件导 ...
- php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
@H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...
- easyexcel多个sheet导入_Java中Easypoi实现excel多sheet表导入导出功能
Easypoi简化了开发中对文档的导入导出实现,并不像poi那样都要写大段工具类来搞定文档的读写. 第一步引入Easypoi依赖 cn.afterturn easypoi-spring-boot-st ...
- csv文件导入导出到mysql
为什么80%的码农都做不了架构师?>>> 1. 从mysql中导出csv文件 echo "select * from table into outfile '/tmp ...
- mysql enclosed by_MySql csv文件导入导出
一.导出到csv(本地导出) 通过mysql客户端shell连接到服务器,选择使用的数据库,输入sql代码: select * from test_info into outfile '/tmp/te ...
- postman测试Excel文件导入导出功能
导入Excel核心代码 @ApiOperation("导入Excel")@PostMapping("/importExcel")public ActionRes ...
- php inputcsv,php excel格式(csv)数据导入导出(示例)
需要把大量数据导入数据库中,比如考试成绩.电话簿等一般都是存放在excel中的数据,可以考虑把excel导出成csv文件. 然后,通过以下程序即可批量导入数据到数据库中,上传csv并导入到数据库中,测 ...
最新文章
- 获取this_小程序获取微信运动步数并集成echarts报表显示
- rails 常用方法
- 区块链BaaS云服务(28)TOP Network 之P2P 网络
- 音乐播放类应用后台播放耗电评测报告
- (五)Unity插件生成
- python解约瑟夫环问题
- Base 6 FAQ v8
- DTCoreText
- android面试 源码,Android面试题-onCreate源码都没看过,怎好意思说自己做android-Go语言中文社区...
- 配置×××服务器使用L2TP/IPSEC协议
- paip.提升用户体验-----可访问性大原则及一些方法
- Qt 70行代码实现控件任意拆分 选中控件水平垂直拆分 窗口分割
- 使用脚本下载.ts文件并合并
- 人工智能领域的产物认知技术,最重要的是哪几个
- C#把excel数据转换成DataTable
- 我想推出这么一种应用(现代诗歌)
- Docker buil提示https://registry-1.docker.io/v2/: read tcp 10.221->:443: read: connection reset by peer
- 屏幕截图工具 php调用,PicPick 全屏幕截图工具
- 读取远程服务器上文件内容,读取远程服务器上的文件
- 【超全超详细】2W字零基础黑客学习路线,知识体系(附学习路线图)
热门文章
- 计算机网络实现技术,系统实现技术 计算机网络ppt课件.ppt
- MySQL计算机机房管理系统_机房管理系统的设计与实现(JSP,MySQL)(含录像)
- 拯救者 R7000 触摸板失灵 | Driver Booster 更新驱动导致触摸板失灵
- grub rescue修复引导
- C++实现无头结点单链表
- 个体户和公司的区别?
- 极其强大的数据统计软件 Stata 安装教程
- java写日历记事本系统_用Java实现日历记事本源代码2660【新版】
- MATLAB批量分割txt数据
- android 动画循环移动图片