情景:一条数据中某字段包含多张图片,分单元格存放导出
类库:maatwebsite(Laravel基于PHPExcel进行封装)
使用:
下载:
composer require "maatwebsite/excel:~2.1.0"
注册:
在config/app.php的 providers 中添加
Maatwebsite\Excel\ExcelServiceProvider::class,
注册到门面:
'Excel' => Maatwebsite\Excel\Facades\Excel::class,
发布配置设置:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
其他:
(•ˇ‸ˇ•)没找到支持导出网络图片的方法,只好先用curl缓存到本地,然后防止硬盘爆炸,写了个定时任务删掉缓存的图片。
将网络图片保存到本地:
function getCloudImg($url, $path){
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$filename = pathinfo($url, PATHINFO_BASENAME);