php如何导出word文档?
在PHP中,可以使用PHPWord来导出word文档。PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。
php如何导出word文档?
可以使用PHPWord来导出word文档。 PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。
PHPWord使用模板的方式来导出数据
过程如下:
使用composer下载PHPWord到项目中
composer require phpoffice/phpword
可以看到,phpword的下载量还是挺高的
下载完后就可以开始制作我们的需求模板了,如下图所示,模板中使用${变量名}
作为占位符,到时候用代码替换即可,${company_name}、${pic}等都是占位符
制作好模板就可以开始写代码了。
//导出word大致可以分为三步 //1.创建模板对象 $document = new TemplateProcessor('./template.docx'); //2.插入数据 //插入文字 $document->setValue('company_name', 'XXX有限公司'); //插入图片 $document->setImageValue('pic1', './img/gyy.jpeg'); $document->setImageValue('pic2', './img/zyt.jpeg'); //插入文字 $document->setValue('organizationo', '123456'); //3.保存文件 $document->saveAs('./target.docx');
导出效果如下:
可以看到默认导出都word的图片比较小,phpword支持自定义图片的大小,这里需要修改setImageValue方法的第二个参数,如果想自定义宽高就需要传入一个数组,格式如下
array("path" => xx, "width" => yy, "height" => zz)
path代表要插入图片的路径,width和height分别代表宽高
修改后的代码如下:
//1.创建模板对象 $document = new TemplateProcessor('./template.docx'); //2.插入数据 //插入文字 $document->setValue('company_name', 'XXX有限公司'); //插入图片,宽200像素,高300像素 $picParam = ['path' => './img/gyy.jpeg', 'width' => 200, 'height' => 300]; $document->setImageValue('pic1', $picParam); $picParam2 = ['path' => './img/zyt.jpeg', 'width' => 200, 'height' => 300]; $document->setImageValue('pic2', $picParam2); //插入文字 $document->setValue('organizationo', '123456'); //3.保存文件 $document->saveAs('./target.docx');
最终导出效果如下:
图片变成了我们期望的大小了。
如果想把生成的文件下载到浏览器,可以在生成文件后加上如下代码即可
//4.从浏览器下载 ob_clean(); ob_start(); $fp = fopen('./target.docx',"r"); $file_size = filesize('./target.docx'); Header("Content-type:application/octet-stream"); Header("Accept-Ranges:bytes"); Header("Accept-Length:".$file_size); Header("Content-Disposition:attchment; filename=".'测试文件.docx'); $buffer = 1024; $file_count = 0; while (!feof($fp) && $file_count < $file_size){ $file_con = fread($fp,$buffer); $file_count += $buffer; echo $file_con; } fclose($fp); ob_end_flush();
更多相关知识,请访问 PHP中文网!!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Logging in CakePHP is a very easy task. You just have to use one function. You can log errors, exceptions, user activities, action taken by users, for any background process like cronjob. Logging data in CakePHP is easy. The log() function is provide

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.
