本文目录一览:
如何用 PHP 生成 Word 文档
PHP 生成 word 文档,可以考虑以下两类办法:
1. 利用 windows 系统提供的 com组件。
这种方法的原理,是使用 php 的调用 com 组件功能函数,如果系统里安装过 office 的服务器,就可以调用 word.application 。
2. 利用PHP将内容写入doc文件之中。
这种方法,难分为两种,一种是生成mht格式写入word,另一种是编写纯 HTML 格式写入word。这种方法是基于 word 对 html 的良好支持。
使用PHPWord导出Word
首先使用composer安装PHPWord
composer require phpoffice/phpword
创建一个公共方法
function exportWorld()
{
$phpWord = new PhpWord();//实例化对象
$section = $phpWord-addSection();//新增一个空白页
$section-addText('hello');//添加一个段落文字
$textrun = $section-addTextRun();//普通文字,一个段落,可以在后面追加文字
$textrun-addText('world');//在上面的文字后面添加文字
$textrun-addTextBreak(1);//文字换行,参数表示几行
$section-addTextBreak(1);//段落直接换行
$section-addPageBreak();//添加换行符
//字体样式
$fstyle = [
'name' ='宋体', //字体
'size' = 12, //大小
'color'= 'red', //颜色
'bold' = true' //加粗
];
//段落样式
$pstyle = [
'align' ='center', //对齐方式
'inden' = 2, //缩进
];
$section-addText('how are you!',$fstyle,$pstyle);//添加自定义文字样式和段落样式的
$objWriter = IOFactory::createWriter($phpWord, 'Word2007');
header('pragma:public');
header("Content-Disposition:attachmeng;filename=hello.doc");//设置导出保存的文件名
$objWriter-save('php://output');
}
以下举例一些常用的参数配置
设置文档属性
$pro = $PHPWord-getProperties();
$pro-setCreator('Jankin'); //创建者
$pro-setCompany('apple'); //公司
$pro-setTitle('computer science'); //标题
$pro-setDescription('this is computer science document.');//描述
$pro-setCategory('computer'); //分类
$pro-setLastModifiedBy('Jankin'); //最后修改者
$pro-setCreated( mktime(0, 0, 0, 8, 12, 2019) );//创建时间
$pro-setModified( mktime(0, 0, 0, 8, 12, 2010) );//修改时间
$pro-setSubject('computer science');//主题
$pro-setKeywords('science');//关键词
设置常用页面样式
$pStyle = [
'orientation' = null,//页面方向,默认null是竖向,landscape是横向
'marginTop' = 800,//上边距
'marginLeft' = 800,//左边距
'marginRight' = 800,//右边距
'marginBottom' = 800,//下边距
'borderTopSize' = 800,//上边框尺寸
'borderTopColor' = 'red',//上边框颜色
'borderLeftSize' = 800,//左边框尺寸
'borderLeftColor' = 'red',//左边框颜色
'borderRightSize' = 800,//右边框尺寸
'borderRightColor' = 'red',//右边框颜色
'borderBottomSize' = 800,//下边框尺寸
'borderBottomColor' = 'red',//下边框颜色
];
设置常用文本样式
$pStyle = [
'size' = 12,//文字大小
'name' = '宋体',//字体名称
'bold' = true,//加粗
'italic' = true,//斜体
'Color' = 'red',//颜色
];
原文链接 PHPWord导出Word
PHP怎么导出WORD?
$this-assign(别名', $this-model-getall($id));
ob_start();
//设置为一个下载类型
header("Content-type:application/octet-steam");
//可以请求网页实体的一个或者多个子范围字段
header("Accept-Ranges:bytes");
//将查询结果导出到word
header("Content-type:application/vnd.ms-excel");
//把请求所得的内容存为一个文件的时候提供一个默认的文件名
header("Content-Disposition:filename=名称-" . date("YmdHis") . ".doc");
//清除缓冲区内容
ob_end_flush();
$this-display('路由页面');