thinkphp使用phpword生成word文档自动下载 有图片
时间:2020-01-07
本文章向大家介绍thinkphp使用phpword生成word文档自动下载 有图片,主要包括thinkphp使用phpword生成word文档自动下载 有图片使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
我给封装成函数了 加一些注释
function expordWord($data,$title) { vendor("PHPWord.PHPWord"); // New Word Document $PHPWord = new \PHPWord(); header("Content-Type: text/html; charset=UTF-8"); $PHPWord->addFontStyle('rStyle', array('bold' => true, 'italic' => true, 'size' => 12));//定义样式 $PHPWord->addParagraphStyle('pStyle', array('align' => 'center', 'spaceAfter' => 100)); $PHPWord->addTitleStyle('titlestyle', array('bold' => true,'size' => 16),array('spaceAfter' => 240,'align' => 'center'));//标题的样式 $section = $PHPWord->createSection();//创建新页面 $section->addTitle($title,'titlestyle'); $section->addTextBreak(2); foreach($data as $k=>$v) { $section->addText('题号:'.$v['no'],'rStyle'); $section->addImage($v['pimg'], array('width'=>500, 'height'=>90)); $section->addTextBreak(2); $section->addText('答案:'); $section->addImage($v['aimg'], array('width'=>500, 'height'=>90)); $section->addTextBreak(4); } $xlsTitle = iconv('utf-8', 'gb2312');//文件名称 $fileName = $_SESSION['account'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定 header('pragma:public'); header('Content-type:application/vnd.ms-word;charset=utf-8;name="'.$xlsTitle.'.docx"'); header("Content-Disposition:attachment;filename=$fileName.docx");//attachment新窗口打印inline本窗口打印 header( 'Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document'); ob_clean();//关键 flush();//关键 $objWrite = \PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWrite->save('php://output'); exit; }
调用
public function test() { $data=array( 0=>array('no'=>1,'pimg'=>'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg','aimg'=>'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg'), 1=>array('no'=>2,'pimg'=>'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg','aimg'=>'./uploads/questionanswer/2019-12-07/5deb1c575125d_a_1575706883819_0.jpg'), ); expordWord($data,'试卷名称'); }
样子
原文地址:https://www.cnblogs.com/baker95935/p/12162413.html
- Java中使用Hibernate系列之启动方法学习(第二节)
- Java中使用Hibernate系列之映射文件学习(第一节)
- Java中为图片添加水印效果的方法——实例代码
- Java中使用Hibernate系列之过滤器(filters)学习
- Node.js中的内存泄漏分析
- Java实现把整数转换为英语单词的方法,实用代码
- Chrome XSS审计之SVG标签绕过
- Java实现的一个简单计算器,有字符分析功能
- Java中实现判断括号是否有效的方法,实用代码
- Java中使用栈实现一个队列,实用代码
- NDK 的开发流程
- 蜜罐背后的影子系统探秘
- Oracle 免费的数据库--Database 快捷版 11g 安装使用与SOD框架对Oracle的CodeFirst支持
- 如何求最小三元组距离
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 技术创作101训练营-CRC校验没那么难
- 栈与队列:有没有想过计算机是如何处理表达式的?
- 栈与队列:滑动窗口里求最大值引出一个重要数据结构
- 栈与队列:求前 K 个高频元素和队列有啥关系?
- 手写一个抖音视频去水印工具,千万别刚一个程序员
- ApplicationListener接口实践
- 浅谈vue+element全局loading加载
- LeetCode59|重复N次的元素
- 谈Vue组件的is特性
- 基于日志的回放对比系统设计
- 【收藏向】常用Java排错工具单
- MYSQL数据同步之基于GTID事务数据同步
- 【风险通告】XXL-JOB远程命令执行漏洞
- MySQL8.0特性之redo logging动态开关
- 3分钟短文:Laravel模型集合跟基类真不一样,别混为一谈