在Laravel5中使用 LaravelExcel 实现Excel - CSV文件导入导出功能( PHPExcel )
发布时间:2018-05-06 编辑:小张个人博客 查看次数:21857
Laravel Excel在Laravel5中集成PHPOffice套件中的 PHPExcel,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和导出。该项目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel。
使用Composer安装依赖
composer require maatwebsite/excel ~2.0.0
安装后的设置(config/app.php)
//注册服务提供者到providers数组 Maatwebsite\Excel\ExcelServiceProvider::class, //注册门面到aliases数组: 'Excel' => Maatwebsite\Excel\Facades\Excel::class,
如果想要对Laravel Excel进行更多的自定义配置,执行如下Artisan命令:
php artisan vendor:publish //执行成功后会在config目录下生成一个配置文件excel.php。
LaravelExcel导出Excel文件(演示)
定义相关路由(routes.php)
Route::get('LaravelExcel','Home\[email protected]');
在LaravelExcelController.php中定义LaravelExcel方法实现导出功能:
// 从一个数组生成Excel表 Excel::create('商品表',function($excel){ $excel->sheet('sheet',function($sheet){ // 另外还可以用:$sheet -> with()或者$sheet -> fromArray() $sheet ->rows(array( array('商品名','价格','库存','备注'), array('小米5','1999','23','023'), array('360N5','1399','99','32'), array('红米Note','999','112'), array('360N4','999','120') )); }); })->export('xls');
然后在浏览器中访问http://www.023xs.cn/LaravelExcel,会导出一个名为商品表.xls的Excel文件:
LaravelExcel设置表格样式(行)
LaravelExcel空比较
默认0显示为空单元格,如果要改变,传递true到第4个参数:
$sheet->fromArray($data, null, 'A1', true);
设置表格样式
// 设置表格样式 $sheet -> row(1,function($row){ // 单元格处理方法 $row ->setBackground('#ff3300'); // 设置单元格背景 $row ->setFontColor('#ffffff'); // 改变字体颜色 // 分开设置字体 /*$row ->setFontSize(18); // 改变字体大小 $row ->setFontFamily('Calibri'); // 设置字体 $row -> setFontWeight('bold'); // 字体设置为粗体*/ //要改变当前表的字体用:->setFont($array) $row ->setFont([ 'family' => 'Calibri', 'size' => '18', 'bold' => true ]); // 设置边框 // $row -> setBorder('solid','none','none','solid'); //设置水平对齐 $row ->setAlignment('center'); //设置垂直对齐 $row ->setValignment('middle'); }); }); // 设置行高 // $sheet->setHeight(1, 110); // 为多个行设置高度 $sheet->setHeight(array( 1 => 50, 2 => 25 )); // 设置所有边框 $sheet->setAllBorders('thin'); // 设置单元格尺寸 $sheet->setSize('A1', 10, 10);
插入行
// 在第1行后插入 $sheet->appendRow(1, array( '0','1','2','3' )); // 插入最后 $sheet->appendRow(array( '商品名','价格','库存','备注' ));
添加一行
// 添加到第1行前 $sheet->prependRow(1, array( '商品名','价格','库存','备注' )); // 添加到最前面 $sheet->prependRow(array( '商品名','价格','库存','备注' ));
我这里只是介绍了laravel-excel常用功能和基本设置,希望对大家有所帮助!当然,Laravel Excel还有很多其它功能,具体可参考其官方文档:http://www.maatwebsite.nl/laravel-excel/docs
Copyright © 小张个人博客 All Rights Reserved 渝ICP备15006773号-1
联系方式:[email protected] | 本站文章仅供学习和参考