最近的一个PHP项目要求输出word文档,于是就使用PHPWord来解决文档输出,从Git上下载了PHPWord包引入发现无法加载这个包,网上一搜索发现要使用composer来安装PHPWord,但是我的这个项目比较的老,没有使用composer,最后只能先在电脑使用composer加载好PHPWord包,再把包引入项目,解决问题。
PHPWord目录结构如下:
代码引用如下:
require 'PhpOffice/PHPWord/vendor/autoload.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
// 标题样式宋体(加粗)、二号
$titlefontStyle = [
'name' => '宋体',
'size' => 22,
'bold' => true,
'lineHeight' => 1.5,
];
$phpWord->addTitleStyle(1, $titlefontStyle, array('align'=>'center'));
$titles = "这是标题";
$section->addTitle($titles,1);
ob_start(); //打开缓冲区
$file = 'word'.date('YmdHis').'.docx';
header( "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" );
header('Content-Disposition: attachment; filename="' . $file . '"');
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$xmlWriter->save("php://output");
ob_end_flush();
另附PHPWord包