laravel 5.8 composer安装 Excel 笔记

275 阅读2分钟
  1. 5.8版本 安装 2.1版本

composer require maatwebsite/excel ~2.1 //内存报错的话试试下一个

  • php -d memory_limit=-1 /usr/bin/composer require maatwebsite/excel ~2.1

//另一个报错 php -d memory_limit=-1 /usr/bin/composer require maatwebsite/excel ~2.1 --ignore-platform-reqs //更新一下在执行第二个命令 php -d memory_limit=-1 /usr/bin/composer update --ignore-platform-reqs //提示 To enable extensions, verify that they are enabled in your .ini files: - /usr/local/php-7.3.15/etc/php.ini You can also run php --ini inside terminal to see which files are used by PHP in CLI mode. composer update --ignore-platform-reqs

2.安装后的设置

在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

3.使用stash暂存本地版本

git stash

4.拉取最新文件

git pull

5.自动解决

git stash pop

laravel-admin 安装redis

php -d memory_limit=-1 /usr/bin/composer require laravel-admin-ext/redis-manager

发布

php artisan admin:import redis-manager

6.laravel-admin excel 中文导出乱码解决方法

vendor/encore/laravel-admin/src/Grid/Exporters/CsvExporter.php //@happiren ++ 添加该行则为UTF8-BOM格式。 print(chr(0xEF) . chr(0xBB) . chr(0xBF));

  1. 导出自定义数据

  2. 编辑页面关闭 删除按钮

//表单右上角 show>panel()>tools(function(show->panel()->tools(function (tools){ tools>disableDelete();tools->disableDelete(); tools->disableEdit(); });

  1. laravel-admin 升级到指定版本 命令

composer require encore/laravel-admin:1.8.11 -vvv

服务器 提示内存不足时执行 下一个命令

php -d memory_limit=-1 /usr/local/bin/composer require encore/laravel-admin:1.8.11 -vvv  --ignore-platform-reqs

注意由于每个版本的静态资源或者语言包都有可能会有更新,所以升级版本之后最好运行下面的命令

// 强制发布静态资源文件 php artisan vendor:publish --tag=laravel-admin-assets --force // 强制发布语言包文件 php artisan vendor:publish --tag=laravel-admin-lang --force // 清理视图缓存 php artisan view:clear

  1. 列表数据 排序以id倒序排列

$grid->model()->orderBy('id', 'desc');

  1. 列表数据 添加初始条件

$grid->model()->where('channel', '=', 1);

  1. 导出自定义数据名称

grid>export(function (grid->export(function (export) {     $export->filename('派样活动-活动数据.csv'); });

  1. 自定义某些列的导出内容

export>column(column5,function(export->column('column_5', function (value, original) { // return value; )};

14 . 清除配置缓存

php artisan config:clear

  1. 表单获取select 下拉框 ID和值

$form->select('theme_id', '所属主题')->options($this->getTheme())->required(); //控制器中定义获取ID和值的方法 public function getTheme(){     $theme = DiscoverTheme::where('status',1)->where('type',1)->where('deleted_at',null)->get(['id','title'])->pluck('title','id');     return $theme; }

excel多sheet页导出文件 Excel::create('周报', function ($excel) use ($sheet1_data,$sheet2_data) { $excel->sheet('sheet页文件名称', function ($sheet) use ($sheet1_data) { $sheet->setWidth('A', 35.5); //设置列宽 $sheet->setHeight(18, 30); //设置列高 $sheet->mergeCells('B1:B2');//合并单元格 $sheet->cell('A'.$num, function ($cells) use ($k) { $cells->setBackground('#f8cbad'); //设置单元格背景 $cells->setValue($k); //设置单元格内容 $cells->setValignment('center'); //垂直居中 $cells->setAlignment('center'); //水平居中 $cells->setFontWeight('bold');//字体加粗 $cells->setFontSize(16);//字体大小 }); }); $excel->sheet('sheet页文件名称', function ($sheet) use ($sheet2_data) { $sheet->setWidth([ 'A' => 15, 'B' => 15, ]);//设置列宽 }) })->export('xlsx');//下载文件 浏览器输出 >store('xlsx');//保存到指定位置 //设置单元格边框 $styleArray = array(     'borders' => array(         'allborders' => array(             //'style' => PHPExcel_Style_Border::BORDER_THICK,//边框是粗的             'style' => \PHPExcel_Style_Border::BORDER_THIN,//细边框             //'color' => array('argb' => 'FFFF0000'),         ),     ), ); $sheet->getStyle('A1:B'.$num)->applyFromArray($styleArray);

添加查询条件

$grid->model()->where('channel_id', $channel_id);

排序字段设置

$grid->model()->orderBy('id', 'desc');

in查询

$grid->model()->whereIn('generation_type',[0,1]);

列格式化

使用->setColumnFormat($array),告诉Excel怎样格式化固定的列

// 设置列格式为百分比 sheet>setColumnFormat(array(C=>0//设置列单元格4位数字sheet->setColumnFormat(array( 'C' => '0%' )); // 设置列单元格4位数字 sheet->setColumnFormat(array( 'A2:K2' => '0000' )); // 同时设置多列格式 $sheet->setColumnFormat(array( 'B' => '0', 'D' => '0.00', 'F' => '@', 'F' => 'yyyy-mm-dd', 'F' => '0.00%', //保留小数点两位 'F1:G1' => 'yyyy-mm-dd', ));