今天无所事事,想起了PHPWORD的安装,搞了很久,不得其法,今天决定要搞定它,从早上吃完早餐,一个人在家电脑旁鼓搞,查资料,看文档,总结如下:
第一步:下载Composer
Composer_setup.exe直接安装(在windows系统下)
安装的过程中出现选择哪个PHP路径,可以选正在使用的PHP.exe的路径。
第二步:编辑Composer.json文件并把它放在当前路径上好下载库,里面写上phpoffice/phpword的版本是更新的版本
{
“require”: {
“phpoffice/phpword”: “^0.17.0”
}
}
第三步:在CMD的命令里输入:composer install或者composer require phpoffice/phpword
就会从网上下载phpword类库并放在当前路径里,在这里要注意的是有些网上下载的地址被墙了就得换网址。
比如在命令行里输入:composer config -g repo.packagist composer https://packagist.phpcomposer.com
https://packagist.phpcomposer.com是中国镜像网,其实是个坑,根本下载不了phpword类库,但可以试一试其它的
https://php.cnpkg.org安畅网络镜像(可用)
https://developer.aliyun.com/composer阿里云镜像(可用)
https://mirrors.cloud.tencent.com腾讯云镜像(可用)
https://packagist.org/国外镜像网(可用)
也许我在弄的时中国镜像网正在维护,所以没有下载成功
下载成功就会在当成路径出现vendor文件夹,里面有phpoffice
第四步:在编辑PHP文件时调用phpword功能时一定要引用
require ‘…/vendor/autoload.php’;
第五步:下面是代码例子:
require ‘…/vendor/autoload.php’;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->addSection();
//向空白页添加文字内容,可以设置文字的样式,包括字体、颜色、字号、粗体等等。
$fontStyle = [
‘name’ => ‘Microsoft Yahei UI’,
‘size’ => 20,
‘color’ => ‘#ff6600’,
‘bold’ => true
];
$textrun = $section->addTextRun();
$textrun->addText('你好,这是生成的Word文档。 ', $fontStyle);
//可以为Word文档中的文字添加用于点击跳转的链接。
$section->addLink(‘https://www.helloweba.net’, ‘欢迎访问Helloweba’, array(‘color’ => ‘0000FF’, ‘underline’ => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE));
s
e
c
t
i
o
n
−
>
a
d
d
T
e
x
t
B
r
e
a
k
(
)
;
/
/
可
以
在
w
o
r
d
中
添
加
图
片
,
如
图
片
地
址
l
o
g
o
.
p
n
g
,
尺
寸
为
64
x
64
。
图
片
源
也
可
以
是
远
程
图
片
。
/
/
section->addTextBreak(); //可以在word中添加图片,如图片地址logo.png,尺寸为64x64。图片源也可以是远程图片。 //
section−>addTextBreak();//可以在word中添加图片,如图片地址logo.png,尺寸为64x64。图片源也可以是远程图片。//section->addImage(‘logo.png’, array(‘width’=>64, ‘height’=>64));
//为Word文档添加页眉。
$header = $section->addHeader();
$header->addText(‘Subsequent pages in Section 1 will Have this!’);
//为word文档添加页脚,页脚内容是页码,格式居中。
$footer = $section->addFooter();
$footer->addPreserveText(‘Page {PAGE} of {NUMPAGES}.’, null, array(‘alignment’ => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
//继续增加一页,加入内容。
$section = $phpWord->addSection();
$section->addText(‘新的一页.’);
//增加一个基础表格,可以设置表格的样式。
$header = array(‘size’ => 16, ‘bold’ => true);
$rows = 10;
$cols = 5;
$section->addText(‘Basic table’,
h
e
a
d
e
r
)
;
/
/
header); //
header);//table = $section->getTable();
$table =
s
e
c
t
i
o
n
−
>
a
d
d
T
a
b
l
e
(
)
;
f
o
r
(
section->addTable(); for (
section−>addTable();for(r = 1; $r <= 8; $r++) {
t
a
b
l
e
−
>
a
d
d
R
o
w
(
)
;
f
o
r
(
table->addRow(); for (
table−>addRow();for(c = 1; $c <= 5; $c++) {
KaTeX parse error: Expected '}', got 'EOF' at end of input: …>addText("Row {r}, Cell {$c}");
}
}
KaTeX parse error: Undefined control sequence: \PhpOffice at position 13: objWriter = \̲P̲h̲p̲O̲f̲f̲i̲c̲e̲\PhpWord\IOFact…phpWord, ‘Word2007’);
$objWriter->save(‘hellwoeba.docx’);
$phpWord = \PhpOffice\PhpWord\IOFactory::load(‘1.docx’);
KaTeX parse error: Undefined control sequence: \PhpOffice at position 13: xmlWriter = \̲P̲h̲p̲O̲f̲f̲i̲c̲e̲\PhpWord\IOFact…phpWord, “HTML”);
$xmlWriter->save(‘1.html’);
代码从网上搜再改写可行,发上来验证。
为了弄懂它一看时间,四个小时就过去,发现现在网上的真正的技术文章不多,还有很多误导,还有些只说一点
没有弄完整性。好累呀