php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器
## :-: TP5导出excel图片和数据--先下载图片到本地服务器
~~~
public function Export( ) {
set_time_limit(0);
ini_set('memory_limit','512M');
ini_set('max_execution_time',0);
// 获取数据
$data = $this->service->setHost('shop_data')->post('/goods/goods/all', input());
$data = json_decode($data,true)['data'];
$objPHP = new \PHPExcel();
$objActSheet = $objPHP->getActiveSheet();
//设置当前的表格
$objPHP->setActiveSheetIndex(0);
$Color = new \PHPExcel_Style_Color(); /*实例化插入图片类*/
// 设置表格第一行显示内容
$objPHP->getActiveSheet()
->setCellValue('A1', '图片')
->setCellValue('B1', '商品名称')
->setCellValue('C1', '商品简称')
->setCellValue('D1', '商品编号')
->setCellValue('E1','品牌')
->setCellValue('F1','年份')
->setCellValue('G1','季节')
->setCellValue('H1','大类')
->setCellValue('I1','品类')
->setCellValue('J1','子类')
->setCellValue('K1','层级')
->setCellValue('L1','单号')
->setCellValue('M1','销售价')
->setCellValue('N1','上下架')
->setCellValue('O1','可销数')
->setCellValue('P1','执行标准')
->setCellValue('Q1','添加时间');
/*以下就是对处理Excel里的数据,横着取数据*/
foreach($data as $k=>$v){
$v['bojun_season']=$v['bojun_season']=='A'?'秋冬':'春夏';
$v['image'] = imgUrl($v['image']);
$num = $k + 2; //设置循环从第二行开始
if ($v['image']){
// 远程图片下载的本地临时目录
$local_pic_path = $this->download($v['image'],'../public/uploads/excelImg/');
$objDrawing = new \PHPExcel_Worksheet_Drawing(); /*实例化插入图片类*/
$objDrawing->setPath(ROOT_PATH.'/public/uploads/excelImg/'. date('Ymd') .DS.$local_pic_path); /*设置图片路径 */
// 设置高度、宽度、指定格中的X、Y坐标值
$objDrawing->setHeight(80);
$objDrawing->setWidth(80);
$objDrawing->setOffsetX(5);
$objDrawing->setOffsetY(5);
$objDrawing->setCoordinates('A' . $num);
$objDrawing->setWorksheet($objPHP->getActiveSheet()); //把图片写到当前的表格中
}
//设置行宽度
$objActSheet->getColumnDimension('A')->setWidth(15);
$objActSheet->getColumnDimension('B')->setWidth(strlen(iconv('utf-8','gb2312',$v['goods_name'])));
$objActSheet->getColumnDimension('D')->setWidth(strlen(iconv('utf-8','gb2312',$v['sku_sn']))+3);
$objActSheet->getColumnDimension('P')->setWidth(strlen(iconv('utf-8','gb2312',$v['ex_standard']))+2);
$objActSheet->getColumnDimension('Q')->setWidth(strlen(iconv('utf-8','gb2312',$v['create_time'])));
$objActSheet->getRowDimension($num)->setRowHeight(80); // 设置单元格行高
$objPHP->getActiveSheet()
->setCellValue('B'.$num, $v['goods_name'])
->setCellValue('C'.$num, $v['abb_name'])
->setCellValue('D'.$num, $v['sku_sn'])
->setCellValue('E'.$num, $v['brand_name'])
->setCellValue('F'.$num, $v['bojun_year'])
->setCellValue('G'.$num, $v['bojun_season'])
->setCellValue('H'.$num, $v['bojun_dalei'])
->setCellValue('I'.$num, $v['bojun_pinlei'])
->setCellValue('J'.$num, $v['bojun_sonlei'])
->setCellValue('k'.$num, $v['bojun_cengji'])
->setCellValue('L'.$num, $v['bojun_oddnums'])
->setCellValue('M'.$num, $v['sell_price'])
->setCellValue('N'.$num, $v['status_desc'])
->setCellValue('O'.$num, $v['sum_saleable_qty'])
->setCellValue('P'.$num, $v['ex_standard'])
->setCellValue('Q'.$num, $v['create_time']);
}
ob_end_clean(); //清除缓冲区,避免乱码
header('Content-Type: application/vnd.ms-excel');
header('Cache-Control: max-age=0');
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header("Content-Transfer-Encoding:binary");
header('Content-Type: text/html; charset=utf-8'); //编码
$excel = \PHPExcel_IOFactory::createWriter($objPHP, 'Excel2007'); //Excel2007 兼容好
$excel->save('php://output');
exit;
}
~~~
```
//下载远程图片 到指定目录
private function download($file_url, $path)
{
$basepath = $path . date('Ymd');
$dir_path = $basepath;
if (!is_dir($dir_path)) {
mkdir($dir_path, 0777, true);
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $file_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
$file = curl_exec($ch);
curl_close($ch);
$filename = pathinfo($file_url, PATHINFO_BASENAME);
$resource = fopen($basepath .'/'. $filename, 'a');
fwrite($resource, $file);
fclose($resource);
return $filename;
}
```
php导出照片,TP5导出excel图片和数据--先下载图片到本地服务器相关推荐
- php 导出excel分段导出_php 导出excel 10万数据
php导出excel 10万数据(此代码主要测试用,没写单元测试 还在修改中 后期加上单元测试) 在工作当中要对一些基本信息和其他信息导出 起初信息比较小无所谓.... 但当信息超出65535的时候 ...
- easyexcel导出excel,大数据量100万以内分页查询zip格式导出
easyexcel导出excel,大数据量100万以内分页查询zip格式导出 准备工作 整体思路 controller层 service层 mapper层 VO 表结构 测试 备注 easyExcel ...
- Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
Android中使用HttpURLConnection实现GET POST JSON数据与下载图片 Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated ...
- java 多线程下载图片_java多线程实现下载图片并压缩
最近在做一个需求:从其他系统的ftp目录下载存储图片url的文件,然后读取文件中的url地址,根据地址下载图片后按天压缩成一个包,平均一个地址文件中包含4000个地址左右,也就是说一个文件扫描后需要下 ...
- html table导出excel 插入图片_前端 Table 用 JS 导出EXCEL(支持大量数据,保留报表格式) - pensive2019...
最近项目上,需要用到将网页上的table报表导出Excel.原先一直用,面对简单的数结构时只要简单的套用就能导出了,但是table结构相对复杂时,很难在组成一样结构,要花很多时间调:这时就想到在百度上 ...
- 摘抄:java查询数据导出excel并返回给浏览器下载
maven地址为: <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml ...
- java poi导出Excel表格超大数据量解决方案
Java实现导出excel表格功能,大部分都会使用apache poi,apache poi API 地址 POI之前的版本不支持大数据量处理,如果数据过多则经常报OOM错误,有时候调整JVM大小效果 ...
- luckysheet导出excel表格(使用exceljs,支持图片)
一.技术 exceljs;luckysheet; 参考文档:使用exceljs导出luckysheet表格_csdn_lsy的博客-CSDN博客_luckysheet 导出; https://gith ...
- Java实现导出excel对重复数据进行单元格合并
Java 导出excel重复数据动态合并单元 前言:记录下第一次做动态导出excel表格,重复数据合并行.这个难就难在不知道从数据库查出来的数据那些是重复的哪些是不重复的,全部都是动态合并,并不能进行 ...
最新文章
- 组网中交换机虚拟化技术的应用
- 量子计算机功率,美国物理学家证明光纤可提升超导量子计算机的功率
- Mac下Selenium无法最大化Chrome解决方案
- 手撕 CNN 之 AlexNet(PyTorch 实战篇)
- jconsole命令(Java Monitoring and Management Console)
- 隐马尔科夫模型-前向算法
- 对于最近爆火的区块链,投资人怎么看? | 聚焦
- 8代cpu能跑linux,Intel公布6/7/8代桌面CPU打漏洞补丁性能结果:影响很小
- OpenCV图像处理篇之边缘检測算子
- matplotlib快速画图
- 使用STL标准模板库实现的个人通讯录
- 使用IBM SPSS Statistics常用图表附例演示讲解
- linux修改dns教程,修改Centos的DNS地址
- 报表中小计汇总总计在代码实现
- 检验方法的验证、确认步骤及详细计算方法
- UE4球体根据镜头方向前进
- elasticsearch从入门到入门系列(二)---快速入门A
- 算法导论中LCS的C++实现程序
- game.php中文什么意思,game是什么意思中文翻译
- 7-12 h0004.双倍
热门文章
- Numpy-矩阵的运算
- ClickHouse【环境搭建 02】设置用户密码的两种方式(明文+SHA256)及新用户添加及只读模式 Cannot execute query in readonly mode 问题解决
- oracle监听静态注册,oracle监听器动态注册于静态注册的区别
- 使用JPA映射实体类和数据库中表时,实体类中定义的enum类型,数据库定义的是varchar类型,为什么使用JPA插入时字段变成了Integer类型
- 软件测试——进程调度(短作业优先调度算法+先来先服务算法)测试
- Windows——FTP命令匿名登录解决方案
- 浙江省第二届大学生网络与信息安全竞赛在线预赛
- CG CTF WEB pass check
- b^3 - a^3 = c
- Idea——Tomcat 报错——Warning: No artifacts configured 解决方法