PHP excel导出 表格 ,带图片

PHP知识总结

安装

安装命令:composer require phpoffice/phpexcel

先看下结果

这里是方法

 /*** 该方法是生成excel表格的* @param $data* @param string $filename* @param string $format* @throws \PHPExcel_Exception* @throws \PHPExcel_Reader_Exception* @throws \PHPExcel_Writer_Exception*/public static function export($data,$filename='excel',$format='xls'){$excel = new PHPExcel();/*设置文本对齐方式*/$excel->getDefaultStyle()->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$excel->getDefaultStyle()->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);$objActSheet = $excel->getActiveSheet();$header = array_keys($data[0]);$arr = array('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',);if (count($header)>26){$n=0;foreach ($arr as  $v){foreach ($arr as  $m){$letter[] = $v.$m;$n+=1;}if ($n>200){break;}}$letter = array_merge($arr,$letter);}else{$letter = $arr;}//设置表头for ($i = 0;$i<count($header) ;$i++){$objActSheet->setCellValue($letter[$i].'1', $header[$i]);}$nn = count($header);foreach ($data as $key => $val) {$n = $key+2 ;$excel->getActiveSheet()->getColumnDimension($letter[$n])->setWidth(10);   //设置单元格宽度$excel->getActiveSheet()->getColumnDimension($letter[$n])->setAutoSize(true);   //内容自适应$excel->getActiveSheet()->getStyle($letter[$key])->getAlignment()->setWrapText(true);//文本自适应$excel->getActiveSheet()->getRowDimension($n)->setRowHeight(100);//单元格高度for ( $i = 0;$i<count($val) ; $i++){$objActSheet->setCellValue($letter[$i] . $n, $val[$header[$i]]);    //数据行}if ($val['icon']){/*实例化插入图片类*/$objDrawing = new \PHPExcel_Worksheet_Drawing();/*设置图片路径*/$path = str_replace('http://www.tp6mang.com','',$data[$key]['icon']);$objDrawing->setPath('.'.$path);/*设置图片高度*/$excel->getActiveSheet()->getColumnDimension($letter[$nn])->setWidth(20);   //设置单元格宽度$objDrawing->setHeight(100);/*设置图片要插入的单元格*/$objDrawing->setCoordinates($letter[$nn].$n);/*设置图片所在单元格的格式*/$objDrawing->setOffsetX(0);$objDrawing->setRotation(0);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(50);$objDrawing->setWorksheet($objActSheet);continue;}}self::downloadExcel($excel,$filename, $format);}/*** 下载数据EXCEL表格导出* @param $newExcel* @param $filename* @param $format* @throws \PhpOffice\PhpSpreadsheet\Writer\Exception*/public static function downloadExcel($newExcel, $filename, $format){// $format只能为 Xlsx 或 Xls$format = strtolower($format);if ($format == 'xlsx') {header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');} elseif ($format == 'xls') {header('Content-Type: application/vnd.ms-excel');}header('Content-Disposition: attachment;filename=' . $filename .date('Y-m-d').'.'. $format);header('Cache-Control: max-age=0');$objWriter = PHPExcel_IOFactory::createWriter($newExcel, 'Excel2007');$objWriter->save('php://output');//通过php保存在本地的时候需要用到//$objWriter->save($dir.'/demo.xlsx');//以下为需要用到IE时候设置// If you're serving to IE 9, then the following may be needed//header('Cache-Control: max-age=1');//If you're serving to IE over SSL, then the following may be needed//header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past//header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified//header('Cache-Control: cache, must-revalidate'); // HTTP/1.1//header('Pragma: public'); // HTTP/1.0exit;}

到这里就好了,方法是自己写的 ,有什么不足,欢迎留言

PHP excel导出 表格 ,带图片相关推荐

  1. springboot + 若依 ruoyi + easypoi excel的导入导出(带图片)

    springboot + 若依 ruoyi + easypoi excel的导入导出(带图片) 一.官方文档 gitee地址 官方文档 二.快速开始 1.导入 引入依赖 <dependency& ...

  2. java freemarker导出word 带图片,文件导出后图片无法使用office正常打开

    问题记录:java freemark导出word 带图片,文件导出后图片无法使用office正常打开,解决之! 现象:wps打开正常,office如下 修改点: 图片${image1}标签前后保证无空 ...

  3. java实现word导出(带图片)

    java实现word导出(带图片) 转载地址:https://www.jianshu.com/p/98ed03044fe1

  4. js-table2excel导出表格中图片不显示的解决方法

    找到node_modules中的js-table2excel里面的index.js,删除原来的代码 改为以下 /* eslint-disable */ let idTmr; const getExpl ...

  5. vue 导出word带图片

    下载依赖 包 npm install docxtemplater npm install pizzip npm install jszip npm install jszip-utils npm in ...

  6. Freemarker 模板导出(带图片)

    1. 依赖 <!--FreeMarker--><dependency><groupId>org.freemarker</groupId><arti ...

  7. poi使用模板导出word带图片

    1.下面是我做的加载模板导出带图片的word的导出方式,使用之前请映入freemarker的jar包,可以从百度下载即可. 2.首先准备到你要导出的word模板,在要填充的模板中填入el表达式,如下图 ...

  8. freeMarker导出word带图片

    1.maven导入需要的jar包 <!-- 引入freeMarker的依赖包. --><dependency><groupId>org.springframewor ...

  9. vue 实现前端excel导出表格携带token的两种方法

    场景一:后端返回一个api接口,直接点击按钮就能下载Excel文件时: (1)不需要携带token <!-- 注:excelUrl绑定的是后端返回的api接口 --> <el-lin ...

  10. 使用springboot和freemarker导出word带图片

    1.首先,要有一个模板word文件(.doc)  里面的样式要先调整好,需要放图片的地方加一个图片 占位  文字内容也要加一些内容占位 2.然后把word转成.ftl格式文件  很贱单  先把word ...

最新文章

  1. 《自然-神经科学》发表脑智卓越中心关于昼夜节律中枢的研究成果
  2. 关于计算机编码的笔记
  3. linux程序员的proc文件系统
  4. c#后台线程更新界面
  5. July面试整理系列--(5)
  6. 观察者模式Java实现
  7. python语法参数_python默认参数语法
  8. discuz php 扩展环境 不支持,配置php扩展memcache
  9. Python数据结构与算法(2.3)——链表
  10. mysql建用户无密码_mysql 新建用户,授权,删除用户,修改密码
  11. java代码生成Excel文件3000条自定义属性的的域账户名
  12. C++ ORM ODB入门
  13. DEVC6.0使用教程
  14. 香港城市大学计算机专业选课,香港城市大学传播与新媒体专业课程设置
  15. OpenKG祝大家端午安康
  16. Java | Java模拟实现扑克牌洗牌、发牌过程
  17. python微信抢红包神器_用Python实现微信自动化抢红包,再也不用担心抢不到红包了...
  18. ajax向后台传递参数为对象实例
  19. “PE文件格式”1.9版 完整译文(附注释)
  20. linux中数据库的管理

热门文章

  1. BMVC reading list
  2. 数值计算作业:Guass列选主元消去法解线性方程组
  3. 原生js实现锚点定位,tab跟随内容变化,PC/移动端均适用
  4. 基于无人机的目标检测平台——数据中转(安卓App)
  5. 2022年京东年货节红包雨攻略,年货节红包最高领8888元红包
  6. 计算机ipv4地址修改方法,电脑ip地址的修改方法步骤图
  7. 如何加声调口诀_汉语拼音声调标注口诀
  8. python画球面投影_球面投影图片 python opencv实现[附代码]
  9. IE9下的怪异现象求解
  10. c语言省略号电脑键盘怎么打,省略号的快捷键怎么打【图解】