引用类
use PhpOffice\PhpWord\IOFactory;
use PhpOffice\PhpWord\PhpWord;
use PhpOffice\PhpWord\TemplateProcessor;
public function word(){
$PHPWord = new PhpWord();
$section = $PHPWord->createSection();
$PHPWord->addTitleStyle(1, array('bold' => true, 'size' => 16, 'name' => 'Arial', 'Color' => '333'), array('align' => 'center'));
$section->addTitle("标题", 1);
//定义样式数组
$styleTable = array(
'borderSize'=>6,
'borderColor'=>'000000',
'cellMargin'=>150
);
$styleFirstRow = array(
'borderBottomSize'=>18,
'borderBottomColor'=>'000000',
'bgColor'=>'66bbff'
);
// 合并单元格
$gridSpan2 = array('gridSpan' => 2);
$gridSpan3 = array('gridSpan' => 3);
$gridSpan5 = array('gridSpan' => 5);
$gridSpan4 = array('gridSpan' => 4);
$styleCell = array('valign'=>'center', 'align'=>'center');
$fontStyle = array('size'=>10);
//添加表格样式
$PHPWord->addTableStyle('myOwnTableStyle',$styleTable,$styleFirstRow);
//添加表格
$table = $section->addTable('myOwnTableStyle');
$table->addRow();
$table->addCell(2500)->addText('第一行');
$table->addCell(6500,$gridSpan3)->addText('测试5'); //合并列单元格
$table->addRow();
$table->addCell(2500,array('vMerge' => 'restart'))->addText('第二行');
$table->addCell(725)->addText('勾选');
$table->addCell(825)->addText('勾选');
$table->addCell(825)->addText('换行');
$table->addRow();
$table->addCell(2500,array('vMerge' => 'continue'));
$table->addCell(1550)->addText('<w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:sym w:font="Wingdings" w:char="00FE"/></w:r>勾选(选中)');
$table->addCell(1650)->addText('<w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:sym w:font="Wingdings" w:char="00FE"/></w:r>勾选(选中)<w:br /><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:sym w:font="Wingdings" w:char="00FE"/></w:r>勾选(选中)<w:br /><w:r><w:rPr><w:rFonts w:hint="eastAsia"/><w:lang w:val="en-US" w:eastAsia="zh-CN"/></w:rPr><w:sym w:font="Wingdings" w:char="00A8"/></w:r>勾选(选中)');
$table->addCell(1650)->addText('一行<w:br />二行');
$table->addRow();
$table->addCell(2500)->addText('第三行');
$table->addCell(1550)->addText('');
$table->addCell(825)->addText('标题');
$table->addCell(1650)->addText('');
$table->addRow();
$table->addCell(9000, array('gridSpan'=>5, 'valign' => 'center'))->addTextRun()->addText('合并全格');
$table->addRow();
$table->addCell(9000, $gridSpan5)->addText('备注:
<w:br />1、测试测是测测试测试测试测是测测试测试测试测是测测试测试
<w:br />2、测试测是测测试测试测试测是测测试测试测试测是测测试测试
<w:br />3、测试测是测测试测试测试测是测测试测试测试测是测测试测试
$file = '测试.docx';
//保存在服务器上-代码
$objWriter = IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save('asd.docx');
//直接浏览器下载不存储-代码
header("Content-Description: File Transfer");
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 = IOFactory::createWriter($PHPWord, 'Word2007');
$xmlWriter->save("php://output");
}
根据自己需求增加行数和单元格