Laravel 中使用 Laravel-Excel 美化
<?php use Maatwebsite\Excel\Classes\LaravelExcelWorksheet;
use Maatwebsite\Excel\Exceptions\LaravelExcelException;
use Maatwebsite\Excel\Facades\Excel;
use Maatwebsite\Excel\Writers\CellWriter;
use Maatwebsite\Excel\Writers\LaravelExcelWriter;
use PHPExcel_Exception; trait HandlerExcelTrait
{
/**
* @var array
*/
protected $cellLetter = [
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q',
'R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD',
'AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN',
'AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'
]; /**
* $data = Array(
* [0] => Array(
* [0] => 序号
* )
* [1] => Array(
* [id] => 1
* )
* )
* $title = ['测试']
* @param string $fileName
* @param array $title
* @param array $data
* @return mixed
* @throws LaravelExcelException
*/
public function exportExcel(string $fileName, array $title, array $data)
{
try {
return Excel::create($fileName, function ($excel) use ($data, $title) {
/** @var LaravelExcelWriter $excel */
$excel->sheet('sheet', function ($sheet) use ($data, $title) {
/** @var LaravelExcelWorksheet $sheet */
$column = $this->cellLetter[count($data[0]) - 1]; try {
$sheet->fromArray($data, null, 'A1', true, false);
} catch (PHPExcel_Exception $e) {
throw new LaravelExcelException($e->getMessage());
} /** 此为设置整体样式 */
$sheet->setStyle([
'font' => [
'name' => 'Calibri',
'size' => 12,
'bold' => false,
]
])
->prependRow($title)
->row(1, function ($row) {
/** @var CellWriter $row */
$row->setFont(array( //设置标题的样式
'family' => 'Calibri',
'size' => '16',
'bold' => true
));
})
->mergeCells('A1:' . $column . '1')
->cell('A2:' . $column . '2', function ($cells) {
/** @var CellWriter $cells */
$cells->setBackground('#AAAAFF');
})->setHeight(1, 30)
->setAutoFilter('A2:' . $column . '2'); //设置自动过滤 /** 此为针对每行的高宽进行设置 */
for ($i = 2; $i <= count($data[0]) + 1; $i++) {
$sheet->setHeight($i, 20);
$sheet->setWidth($this->cellLetter[$i - 1], 30);
$sheet->row($i - 1, function ($row) {
/** @var CellWriter $row */
$row->setAlignment('center');
$row->setValignment('center');
});
}
});
})->export('xlsx');
} catch (LaravelExcelException $e) {
throw new LaravelExcelException($e->getMessage());
}
}
}
原文:https://learnku.com/articles/7095/laravel-excel-beautification-in-laravel
Laravel 中使用 Laravel-Excel 美化的更多相关文章
- 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 5.4 导出excel表格
1.在laravel根目录下面找到一个composer.json文件 打开并在require下面加上一句话,如图所示: 注:以后这个excel的版本号可能还会修改 2.执行 composer inst ...
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- laravel中日志为daily时如何设置最大保存天数
在laravel中,日志设置为daily时,默认保存七天的日志,超过则清除七天前的日志.可修改默认的设置,假如要保存30天的日志,则配置如下: 在配置文件config/app.php中添加如下代码: ...
- laravel中的错误与日志
日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...
- laravel中的$request对象构造及请求生命周期
laravel应用程序中index.php是所有请求的入口.当用户提交一个form或者访问一个网页时,首先由kernel捕捉到该session PHP运行环境下的用户数据, 生成一个request对象 ...
- cron以及在laravel中使用cron
yum install vixie-cron yum install crontabs /bin/systemctl restart crond.service #启动服务 /bin/systemct ...
- Laravel中的队列处理
Laravel中的队列处理 队列介绍 为什么要有消息队?这里先对其进行一个简单的介绍,方便还不了解的同学理解.在面向对象里,有一个很简单的概念--消息传递,而消息队列就可以在它上面扩展一下,把它说的更 ...
随机推荐
- 浅谈python的第三方库——numpy(终)
本文作为numpy系列的总结篇,继续介绍numpy中常见的使用小贴士 1 手动转换矩阵规格 转换矩阵规格,就是在保持原矩阵的元素数量和内容不变的情况下,改变原矩阵的行列数目.比如,在得到一个5x4的矩 ...
- P1553 数字反转(升级版)(copy(),reverse(),find(),substr(),erase())
题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数.整数反转是将所有数位对调:小数反转是把整数部分的数反 ...
- Linux CURL的安装和使用
--获得安装包,从网上直接下载或者其他途径,这里直接wget# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz--解压到当前目录# tar - ...
- Python集合详解
集合介绍: 集合(set)是一个无序的不重复元素序列.可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典 ...
- 重启监听卡在connecting to的问题
问题描述:lsnrctl start启动监听起不来,一直卡在connecting to半天 1.[oracle@orcl ~]$ lsnrctl start 一直卡半天,就是连不上,按照以前的解决办法 ...
- LAMP集成环境搭建
本教程是在centos6.8 64位系统下进行操作 我们首先准备搭建LAMP环境 LAMP指的是Linux.Apache.MySQL 和 PHP 如果要安装PHP5.5 需要 首先rpm -ivh h ...
- 随机定时修改密码change_passwd.sh
change_passwd.sh #!/bin/sh /usr/bin/chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /usr/b ...
- Linux 常用命令 服务器间scp 用户 export 创建文件、软连接
获取外网ip curl icanhazip.com 服务器间的 文件 复制 scp root@ip:/源目录 目标目录 软连接 查看软连接 ls -li 创建软连接 ln -s 源文件 目标文件 -s ...
- python3练习100题——039
原题链接:http://www.runoob.com/python/python-exercise-example39.html 题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数 ...
- 最短路-B - 六度分离
B - 六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6 ...