工作中常常会遇到数据导出功能,比如把数据导出成word.docx文档。那么用Laravel如何实现呢。
今天给大家介绍一下phpword的使用,它可以很方便的实现word文档的生成,同时可以在word中添加表格、目录、图片、超级链接、页眉、页脚等功能强大,比如这个图就是我用程序生成的,如下图所示:

phpword官方手册:http://phpword.codeplex.com/documentation

phpword这个包是phpoffice的简版,相当于从phpoffice提取了phpword的版本,phpoffice可以实现生成docx、odt、rtf、html、pdf五种格式的文件,感兴趣可以看我另一篇文章phpoffice的例子。

一、安装phpword

在composer.json中添加phpword如下所示
“require”: {
“phpword/phpword”: “dev-master”
},
添加后执行composer install & composer update
安装成功后,就可以使用了,但是中文会出现乱码的情况,所以需要如下修改。

乱码问题解决:

   1、PHPWord/Writer/Word2007/Base.php文件内容349行添加$objWriter->writeAttribute('w:eastAsia', $font);2、在PHPWord目录全局搜utf8_encode并删掉,注意,删的时候注意纠正相关变量

二、代码示例

        $phpword = new \PHPWord();//设置默认样式$phpword->setDefaultFontName('仿宋');//字体$phpword->setDefaultFontSize(16);//字号//添加页面$section = $phpword->createSection();//添加目录$styleTOC  = ['tabLeader' => \PHPWord_Style_TOC::TABLEADER_DOT];$styleFont = ['spaceAfter' => 60, 'name' => 'Tahoma', 'size' => 12];$section->addTOC($styleFont, $styleTOC);//默认样式$section->addText('aaaa第一行文字第一行文字第一行文字第一行文字aaaa');$section->addTextBreak();//换行符//指定的样式$section->addText('Hello world! 第二行文字第二行文字第二行文字.',['name' => '宋体','size' => 16,'bold' => true,]);$section->addTextBreak(5);//多个换行符//自定义样式$myStyle = 'myStyle';$phpword->addFontStyle($myStyle,['name' => 'Verdana','size' => 12,'color' => '1BFF32','bold' => true,'spaceAfter' => 500,]);$section->addText('第三行文字第三行文字', $myStyle);$section->addText('第四行文字', $myStyle);$section->addPageBreak();//分页符//添加文本资源$textrun = $section->createTextRun();$textrun->addText('I am bold', ['bold' => true]);$textrun->addText('I am italic', ['italic' => true]);$textrun->addText('I am colored', ['color' => 'AACC00']);//列表$listStyle = ['listType' => \PHPWord_Style_ListItem::TYPE_NUMBER];$section->addListItem('河北省', 0, null, $listStyle);$section->addListItem('石家庄', 1, null, $listStyle);$section->addListItem('邯郸', 1, null, $listStyle);$section->addListItem('魏县', 2, null, $listStyle);$section->addListItem('河南省', 0, null, $listStyle);$section->addListItem('郑州', 1, null, $listStyle);$section->addListItem('信阳', 1, null, $listStyle);//超级链接$linkStyle = ['color' => '0000FF', 'underline' => \PHPWord_Style_Font::UNDERLINE_SINGLE];$phpword->addLinkStyle('mylinkStyle', $linkStyle);$section->addLink('http://www.baidu.com', '百度', 'mylinkStyle');$section->addLink('http://www.lanrenkaifa.com', null, 'mylinkStyle');//添加图片$imageStyle = ['width' => 350, 'height' => 350, 'align' => 'center'];$section->addImage(public_path().'/fen.png', $imageStyle);$section->addImage(public_path().'/test.jpg');//$section->addMemoryImage('http://localhost/image.php');//添加GD生成图片//添加对象,支持后缀:'xls', 'doc', 'ppt'//$section->addObject(public_path().'/demo.xls',['align' => 'center']);//添加标题,支持1-9标题$phpword->addTitleStyle(1, ['bold' => true, 'color' => '1BFF32', 'size' => 38, 'name' => 'Verdana']);$section->addTitle('我是标题', 1);$section->addTitle('我是标题2', 1);$section->addTitle('我是标题3', 1);//添加表格$styleTable = ['borderColor' => '006699','borderSize' => 6,'cellMargin' => 50,];$styleFirstRow = ['bgColor' => '66BBFF'];//第一行样式$phpword->addTableStyle('myTable', $styleTable, $styleFirstRow);$table = $section->addTable('myTable');$table->addRow(400);//行高400$table->addCell(2000)->addText('名称');$table->addCell(2000)->addText('价格');$table->addCell(2000)->addText('数量');$table->addRow(400);//行高400$table->addCell(2000)->addText('小米手机');$table->addCell(2000)->addText('3999元');$table->addCell(2000)->addText('50');$table->addRow(400);//行高400$table->addCell(2000)->addText('苹果手机');$table->addCell(2000)->addText('5999元');$table->addCell(2000)->addText('10');//页眉与页脚$header = $section->createHeader();$footer = $section->createFooter();$header->addPreserveText('LanRenKaiFa.com');$footer->addPreserveText('学会偷懒,并懒出效率。 - LanRenKaiFa.com Page {PAGE} of {NUMPAGES}.');//生成的文档为Word2007$writer = \PHPWord_IOFactory::createWriter($phpword, 'Word2007');$writer->save('hello.docx');

Laravel生成Word文档 - phpword相关推荐

  1. 使用PHPWord生成word文档

    有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档. 下载源码 安装 ...

  2. php使用phpword教程,使用PHPWord生成word文档

    有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档. 安装 我们使用 ...

  3. php 2003生成word,使用PHPWord生成word文档的方法详解

    使用PHPWord生成word文档的方法详解 来源:中文源码网    浏览: 次    日期:2019年11月5日 [下载文档:  使用PHPWord生成word文档的方法详解.txt ] (友情提示 ...

  4. php生成 word,使用PHPWord生成word文档的方法详解

    本文实例讲述了使用PHPWord生成word文档的方法.分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库, ...

  5. word插件php,php使用phpword插件生成word文档

    php使用phpword插件生成word文档 php使用phpword插件生成word文档,有需要的朋友可以参考参考. require_once '../libs/PHPWord/PHPWord.ph ...

  6. thinkphp3.2集成phpword,生成word文档并下载

    因为工作需要,需要将页面内容导出到word并下载.本文介绍在PHP中如何实现生成word文档并下载. 开发框架: thinkphp3.2 Word插件: PHPWord  一.安装PHPWord 安装 ...

  7. PHP 使用word模板生成word文档示例

    <?php namespace Home\Controller; use PhpOffice\PhpWord\TemplateProcessor; use Think\Controller; c ...

  8. php导出doc文件_PHP生成Word文档的方法

    PHP生成Word文档的方法 首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境.由于Interop纯粹是一个Windows的特性,我们将在Windows平台下搭建Apac ...

  9. php 内容自动生成word文档,php生成word文档的例子

    /** * 生成word文档 * * @param string $html 内容部分 * @param string $file 文件名称 * @param string $code 当前文件编码, ...

最新文章

  1. python画简单花-Python竟能画这么漂亮的花,帅呆了(代码分享)
  2. aix系统java堆_浅谈AIX环境下的Java性能调优
  3. ISBN号码(洛谷-P1055)
  4. python培训班靠谱吗-Python培训班多少钱
  5. CIE Radar 2006(ICR2006)开始征文了
  6. Java 方法的反射
  7. JS新特性和流行框架 - 跟着李南江学编程
  8. 技校自我鉴定范文计算机600字,技校自我鉴定100字范文18篇
  9. hive中 <> 和 != 的区别
  10. L1-087 机工士姆斯塔迪奥
  11. INTERVAL 用法 mysql
  12. mysql写周报_mysql 数据分析如何实现日报、周报、月报和年报?
  13. 性价比高一点的蓝牙耳机有哪几款?高性价比蓝牙耳机推荐
  14. [译] APT分析报告:01.Linux系统下针对性的APT攻击概述
  15. ui设计现状与意义_UI设计的现状如何?
  16. 物料清单的概念及重要性
  17. Orcale数据库简介
  18. 妈蛋,终于在TQ2440上点亮一个led了。。。
  19. 实际上Ubuntu在你最起初配置完系统以后,是无法访问root类型的操作的(下面详解),ubuntu系统网络设置方法(图文)
  20. FusionInsight,一个融合的大数据平台

热门文章

  1. 安卓搜不到airpods_AirPods Pro支不支持安卓手机 AirPods Pro配对无弹窗怎么办
  2. 【Linux】制作Linux系统(Ubuntu)U盘启动盘(含UltraISO安装及注册码)
  3. 方舟生存进化怎么开最新服务器,方舟生存进化手游新服开启公告 新增8组免费PVXc服务器...
  4. 嵌入式GUI LVGL『Tile View拼接视图控件』介绍
  5. 西南大学网络教育计算机网络,西南大学网络与继续教育学院(0087)《计算机网络》限时...
  6. FreeSwitch(十一):基本功能与实现
  7. ae 2020新功能介绍
  8. Kafka Consumer 详解
  9. ABAP开发关键字总结
  10. va rva rawaddress