首页 » 网站建设 » php图片转链接技巧_Laravel框架实现导出Excel功能同时把链接地址转换成图片

php图片转链接技巧_Laravel框架实现导出Excel功能同时把链接地址转换成图片

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

本日,给大家分享一下,如何在laravel框架中,实现导出Excel功能。
同时,在导出的Excel中把链接地址转化成图片。

须要用到的工具及扩展laravel版本为5.5,可到官网根据自己的须要下载相应版本PHP7及以上excel扩展用的是 maatwebsite/excel,版本为2.1及以上安装后的laravel框架目录如下图所示:

laravel框架目录构造

php图片转链接技巧_Laravel框架实现导出Excel功能同时把链接地址转换成图片

核心代码

laravel excel有三种导出办法:Exportables、From Query、From View,我这里用的是From View

php图片转链接技巧_Laravel框架实现导出Excel功能同时把链接地址转换成图片
(图片来自网络侵删)

1.创建导出类 app/Exports,可以通过利用make:export命令来实行此操作。
如下:

php artisan make:export OrderExport --model=User

天生都目录构造如下:

.├── app│ ├── Exports│ │ ├── OrderExport.php│ └── composer.json

2.OrderExport.php文件中的代码如下:

<?phpnamespace App\Exports;use Maatwebsite\Excel\Concerns\FromView;use Illuminate\Contracts\View\View;class OrderExport implements FromView{ protected $imgPosition = [];//图片插入位置 public function __construct(array $data) { $this->data = $data;//要导出的数据 } public function view(): View { return view('export', ['data' => $this->data]); //export为导出视图模板 }}

3.上面代码中,导出视图模板export的文件为 export.blade.php,详细位置如下:

.├── resources│ ├── views│ │ ├── export.blade.php│ └── composer.json

该模板定义了导出excel的格式,详细代码如下:

<table> <thead> </thead> <tbody> <tr> <?php foreach ($data['header'] as $key => $val) { ?> <td style="vertical-align: center;"><b>{{$val}}</b></td> <?php } ?> </tr> <?php foreach ($data['rows'] as $key => $val) { ?> <tr> <?php foreach ($val as $k => $v) { ?> <?php if (is_array($v)) {?> {{--@foreach($v as $i => $img) <td style="vertical-align: center;"><b>{{$img}}</b></td> @endforeach--}} <?php } else { ?> <td style="vertical-align: center;"><b>{{$v}}</b></td> <?php } ?> <?php } ?> </tr> <?php } ?> </tbody></table>

4.好啦,接下来就可以直接在controller中导出文件到excel了。

public function export($data) { $orderExport = new OrderExport($data);//$data为须要导出到excel中的数据 return Excel::download($orderExport, 'test.xlsx');}

以上便是导出excel的全部过程啦!
下面我们来讲一讲如何把图片链接地址转换成图片并导出到excel中。

链接地址转换成图片

导出的数据格式须要在 app/Exports/OrderExport.php 文件中设置

1.通过利用 WithDrawings 添加图片到excel中,实例化工程图(Drawing),并设置相应的值:

$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();$drawing->setName('Logo');//图片名称$drawing->setDescription('This is my logo');//图片描述$drawing->setPath(public_path('/img/logo.jpg'));//图片路径$drawing->setHeight(90);//图片高度

2.实例化之后,须要添加到导出类中,添加一个图纸:

<?phpnamespace App\Exports;use Maatwebsite\Excel\Concerns\FromView;use Illuminate\Contracts\View\View;use Maatwebsite\Excel\Concerns\WithDrawings;class OrderExport implements FromView, WithDrawings{ public function __construct(array $data) { $this->data = $data;//要导出的数据 } public function view(): View { return view('export', ['data' => $this->data]); //export为导出视图模板 }public function drawings() { $drawing = new Drawing(); $drawing->setName('Logo'); $drawing->setDescription('This is my logo'); $drawing->setPath(public_path('/img/logo.jpg')); $drawing->setHeight(90); $drawing->setCoordinates('B3');//图片位于excel中的单元格位置 return $drawing; }}

如果想要导出多张图片,只需在 drawings()方法中,实例化多个工程图类并设置相应参数即可。
导出结果如下图:

除了以上先容的功能,还有许多其他设置excel的方法,如导出不同格式文件、格式化列、自定义格式值、单元格颜色、字体大小、位置都可以设置。

laravel框架中,导出数据到excel,并且把链接地址转换成图片的功能,已经完全的先容完啦。
是不是觉得很大略,功能很强大,动手试一试吧!

关注我的头条号,每天更新PHP干系技能知识。
我是大略,功能很强大,动手试一试吧!
关注我的头条号,每天更新PHP干系技能知识。
我是PHP程序媛,努力向前,发展可见!

标签:

相关文章

语言步骤,沟通的艺术与科学

在人际交往中,语言是传递信息、表达情感、建立关系的重要工具。并非所有的语言都能够达到预期的沟通效果。这就需要我们在沟通中运用语言策...

网站建设 2024-12-29 阅读0 评论0

语言方法心得,让文字更有力量的方法

语言是人类沟通的桥梁,是表达思想、传递情感的重要工具。在人际交往中,掌握一定的语言技巧,不仅能提升自己的表达能力,还能增强沟通效果...

网站建设 2024-12-29 阅读0 评论0

语言服务在全球化背景下的机遇与挑战

随着全球化的深入发展,语言服务已成为连接不同国家和文化的重要桥梁。在阿里巴巴集团的引领下,语言服务行业迎来了前所未有的机遇与挑战。...

网站建设 2024-12-29 阅读0 评论0

语言打包,高效沟通的方法之路

在信息爆炸的时代,沟通成为了人们日常生活和工作中不可或缺的一部分。而语言作为一种沟通工具,其重要性不言而喻。如何让语言更加高效、精...

网站建设 2024-12-29 阅读0 评论0

语言环境对儿童语言发展的影响及启示

在儿童成长的过程中,语言环境扮演着至关重要的角色。语言环境不仅影响着儿童的语言表达能力,还对其认知、思维、情感等方面产生深远影响。...

网站建设 2024-12-29 阅读0 评论0