Heim Backend-Entwicklung PHP-Tutorial php如何导出word文档?

php如何导出word文档?

Jun 13, 2016 am 11:22 AM
php phpword word

在PHP中,可以使用PHPWord来导出word文档。PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。

php如何导出word文档?

php如何导出word文档?

可以使用PHPWord来导出word文档。 PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档。

PHPWord使用模板的方式来导出数据

过程如下:

使用composer下载PHPWord到项目中

composer require phpoffice/phpword
Nach dem Login kopieren

可以看到,phpword的下载量还是挺高的

1.png

下载完后就可以开始制作我们的需求模板了,如下图所示,模板中使用${变量名}作为占位符,到时候用代码替换即可,${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');
Nach dem Login kopieren

导出效果如下:

2.png

可以看到默认导出都word的图片比较小,phpword支持自定义图片的大小,这里需要修改setImageValue方法的第二个参数,如果想自定义宽高就需要传入一个数组,格式如下

array("path" => xx, "width" => yy, "height" => zz)
Nach dem Login kopieren

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');
Nach dem Login kopieren

最终导出效果如下:

图片变成了我们期望的大小了。

3.png

如果想把生成的文件下载到浏览器,可以在生成文件后加上如下代码即可

//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();
Nach dem Login kopieren

更多相关知识,请访问 PHP中文网!!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

See all articles