PHPWord插件详解
一下载PHPWorld并配置项目
1.PHPWord框架文件如下:
二使用word模板并使用PHPWord生成doc文件
例如:源代码如下:
<?php require_once '../PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('Template.docx'); $document->setValue('Value1', 'Sun'); $document->setValue('Value2', 'Mercury'); $document->setValue('Value3', 'Venus'); $document->setValue('Value4', 'Earth'); $document->setValue('Value5', 'Mars'); $document->setValue('Value6', 'Jupiter'); $document->setValue('Value7', 'Saturn'); $document->setValue('Value8', 'Uranus'); $document->setValue('Value9', 'Neptun'); $document->setValue('Value10', 'Pluto'); $document->setValue('weekday', date('l')); $document->setValue('time', date('H:i')); $document->save('Solarsystem.docx'); ?>
模板文件Template.docx如下:
运行代码生成的文件如下:
三使用PHPWord生成各种内容的doc文件
1.生成基本表格
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add table $table = $section->addTable(); for($r = 1; $r <= 10; $r++) { // Loop through rows // Add row $table->addRow(); for($c = 1; $c <= 5; $c++) { // Loop through cells // Add Cell $table->addCell(1750)->addText("Row $r, Cell $c"); } } // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('BasicTable.docx'); ?>
2.生成高级表格
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Define table style arrays $styleTable = array('borderSize'=>6, 'borderColor'=>'006699', 'cellMargin'=>80); $styleFirstRow = array('borderBottomSize'=>18, 'borderBottomColor'=>'0000FF', 'bgColor'=>'66BBFF'); // Define cell style arrays $styleCell = array('valign'=>'center'); $styleCellBTLR = array('valign'=>'center', 'textDirection'=>PHPWord_Style_Cell::TEXT_DIR_BTLR); // Define font style for first row $fontStyle = array('bold'=>true, 'align'=>'center'); // Add table style $PHPWord->addTableStyle('myOwnTableStyle', $styleTable, $styleFirstRow); // Add table $table = $section->addTable('myOwnTableStyle'); // Add row $table->addRow(900); // Add cells $table->addCell(2000, $styleCell)->addText('Row 1', $fontStyle); $table->addCell(2000, $styleCell)->addText('Row 2', $fontStyle); $table->addCell(2000, $styleCell)->addText('Row 3', $fontStyle); $table->addCell(2000, $styleCell)->addText('Row 4', $fontStyle); $table->addCell(500, $styleCellBTLR)->addText('Row 5', $fontStyle); // Add more rows / cells for($i = 1; $i <= 10; $i++) { $table->addRow(); $table->addCell(2000)->addText("Cell $i"); $table->addCell(2000)->addText("Cell $i"); $table->addCell(2000)->addText("Cell $i"); $table->addCell(2000)->addText("Cell $i"); $text = ($i % 2 == 0) ? 'X' : ''; $table->addCell(500)->addText($text); } // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('AdvancedTable.docx'); ?>
3.生成页眉和页脚
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add header $header = $section->createHeader(); $table = $header->addTable(); $table->addRow(); $table->addCell(4500)->addText('This is the header.'); $table->addCell(4500)->addImage('_earth.jpg', array('width'=>50, 'height'=>50, 'align'=>'right')); // Add footer $footer = $section->createFooter(); $footer->addPreserveText('Page {PAGE} of {NUMPAGES}.', array('align'=>'center')); // Write some text $section->addTextBreak(); $section->addText('Some text...'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('HeaderFooter.docx'); ?>
4.生成图片
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add image elements $section->addImage('_mars.jpg'); $section->addTextBreak(2); $section->addImage('_earth.JPG', array('width'=>210, 'height'=>210, 'align'=>'center')); $section->addTextBreak(2); $section->addImage('_mars.jpg', array('width'=>100, 'height'=>100, 'align'=>'right')); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('Image.docx'); ?>
5.生成超链接
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add hyperlink elements $section->addLink('http://www.google.com', 'Best search engine', array('color'=>'0000FF', 'underline'=>PHPWord_Style_Font::UNDERLINE_SINGLE)); $section->addTextBreak(2); $PHPWord->addLinkStyle('myOwnLinkStyle', array('bold'=>true, 'color'=>'808000')); $section->addLink('http://www.bing.com', null, 'myOwnLinkStyle'); $section->addLink('http://www.yahoo.com', null, 'myOwnLinkStyle'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('Link.docx'); ?>
6.生成 列表
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add listitem elements $section->addListItem('List Item 1', 0); $section->addListItem('List Item 2', 0); $section->addListItem('List Item 3', 0); $section->addTextBreak(2); // Add listitem elements $section->addListItem('List Item 1', 0); $section->addListItem('List Item 1.1', 1); $section->addListItem('List Item 1.2', 1); $section->addListItem('List Item 1.3 (styled)', 1, array('bold'=>true)); $section->addListItem('List Item 1.3.1', 2); $section->addListItem('List Item 1.3.2', 2); $section->addTextBreak(2); // Add listitem elements $listStyle = array('listType'=>PHPWord_Style_ListItem::TYPE_NUMBER); $section->addListItem('List Item 1', 0, null, $listStyle); $section->addListItem('List Item 2', 0, null, $listStyle); $section->addListItem('List Item 3', 0, null, $listStyle); $section->addTextBreak(2); // Add listitem elements $PHPWord->addFontStyle('myOwnStyle', array('color'=>'FF0000')); $PHPWord->addParagraphStyle('P-Style', array('spaceAfter'=>95)); $listStyle = array('listType'=>PHPWord_Style_ListItem::TYPE_NUMBER_NESTED); $section->addListItem('List Item 1', 0, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 2', 0, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 3', 1, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 4', 1, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 5', 2, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 6', 1, 'myOwnStyle', $listStyle, 'P-Style'); $section->addListItem('List Item 7', 0, 'myOwnStyle', $listStyle, 'P-Style'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('ListItem.docx'); ?>
7.生成水印
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Create header $header = $section->createHeader(); // Add a watermark to the header $header->addWatermark('_earth.jpg', array('marginTop'=>200, 'marginLeft'=>55)); $section->addText('The header reference to the current section includes a watermark image.'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('Watermark.docx'); ?>
8.嵌入xls表格
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(); // Add text elements $section->addText('You can open this OLE object by double clicking on the icon:'); $section->addTextBreak(2); // Add object $section->addObject('_sheet.xls'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('Object.docx'); ?>
9.生成块
<?php require_once '../PHPWord.php'; // New Word Document $PHPWord = new PHPWord(); // New portrait section $section = $PHPWord->createSection(array('borderColor'=>'00FF00', 'borderSize'=>12)); $section->addText('I am placed on a default section.'); // New landscape section $section = $PHPWord->createSection(array('orientation'=>'landscape')); $section->addText('I am placed on a landscape section. Every page starting from this section will be landscape style.'); $section->addPageBreak(); $section->addPageBreak(); // New portrait section $section = $PHPWord->createSection(array('marginLeft'=>600, 'marginRight'=>600, 'marginTop'=>600, 'marginBottom'=>600)); $section->addText('This section uses other margins.'); // Save File $objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007'); $objWriter->save('Section.docx'); ?>
PHPWord插件详解的更多相关文章
- Uploadify 上传文件插件详解
Uploadify 上传文件插件详解 Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中 ...
- Google自写插件详解
谷歌插件详解,跳转至个人主页查看. GoogleExtension
- Maven系列第6篇:生命周期和插件详解,此篇看过之后在maven的理解上可以超越同级别90%的人!
maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第6篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...
- ThreeJS系列1_CinematicCameraJS插件详解
ThreeJS系列1_CinematicCameraJS插件详解 接着上篇 ThreeJS系列1_CinematicCameraJS插件介绍 看属性的来龙去脉 看方法作用 通过调整属性查看效果 总结 ...
- JQuery自定义插件详解之Banner图滚动插件
前 言 JRedu JQuery是什么相信已经不需要详细介绍了.作为时下最火的JS库之一,JQuery将其"Write Less,Do More!"的口号发挥的极致.而帮助J ...
- Web自动化框架LazyUI使用手册(3)--单个xpath抓取插件详解(selenium元素抓取,有此插件,便再无所求!)
概述 前面的一篇博文粗略介绍了基于lazyUI的第一个demo,本文将详细描述此工具的设计和使用. 元素获取插件:LazyUI Elements Extractor,作为Chrome插件,用于抓取页面 ...
- maven生命周期和插件详解
生命周期 什么是生命周期? maven的生命周期就是对所有的构建过程进行抽象和统一.maven从大量项目和构建工具中总结了一套高度完善的.易扩展的生命周期.这个生命周期包含项目的清理.初始化.编译.测 ...
- Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解
生成器设计思路: 连接数据库 -> 获取表结构 -> 生成文件 1 下载与安装 官网文档入口 最方便的 maven 插件使用方式 贴至pom 文件 2 新建配置文件 填充配置信息(官网示例 ...
- maven打包插件详解
maven-jar-plugin插件的使用及详解 该插件的xml配置及详解如下: <plugin> <groupId>org.apache.maven.plugins</ ...
随机推荐
- P1217 [USACO1.5]回文质数 Prime Palindromes(技巧+暴力枚举+线性筛)
技巧:就是偶数位的回文数字一定不是质数---------证明:奇数位之和sum1==偶数位之和sum2的数字可以被11整除.(11除外,这是一个坑点) 最高位,最低位必须是 1, 3, 7, 9 暴力 ...
- D. Diverse Garland
题意:灯有三种颜色R,G,B.只要同一种颜色相邻就不可以.问最少需要换几次,可以使在一串灯中没有相邻灯的颜色相同. 思路:贪心思路:我们知道一个程序都是要子阶段,然后子阶段各个组合起来形成这个程序.那 ...
- .Net使用RabbitMQ详解 转载http://www.cnblogs.com/knowledgesea/p/5296008.html
.Net使用RabbitMQ详解 序言 这里原来有一句话,触犯啦天条,被阉割!!!! 首先不去讨论我的日志组件怎么样.因为有些日志需要走网络,有的又不需要走网路,也是有性能与业务场景的多般变化在其 ...
- day14(1)--递归、匿名函数、内置函数
一.递归 定义:本质上是回溯和递推 回溯:询问答案的过程 递推:推出答案的过程 前提: 回溯到一个有结果的值开始递推 回溯与递推的条件要有规律 方式: 直接递归:自己调用自己 间接递归:通过别人来调用 ...
- Generative Adversarial Nets[Improved GAN]
0.背景 Tim Salimans等人认为之前的GANs虽然可以生成很好的样本,然而训练GAN本质是找到一个基于连续的,高维参数空间上的非凸游戏上的纳什平衡.然而不幸的是,寻找纳什平衡是一个十分困难的 ...
- Java多线程学习(一)---并发与多线程
Java并发与多线程 摘要: 1. 并发与并行的区别,何为并发编程,并发编程的优势在哪 2. 多线程.多任务.多进程机制概述 3. 多线程.多任务.多进程机制与编程思想的关系 一.并发 1.1 并发与 ...
- Spring+Struts2+Hibernate框架整合流程
一:基本步骤 新建Maven项目,导入相关依赖(推荐) 在WEB-INF的web.xml中进行配置 ————–Hibernate配置 —————- 创建entity包,创建数据库相关实体类 根据实体类 ...
- 单点登录SSO:概述与示例
目录 概述 演示一:零改造实施单点登录 演示二: 单点注销 演示三:集成AD认证 演示四:客户端单点登录 演示五:移动端单点登录 单点登录SSO概述 本系列将由浅入深的,带大家掌握最新单点登录SSO方 ...
- 谈谈自己体会到的HTML5
# 谈谈自己体会到的HTML5 很多介绍HTML5的文章,都是从以下几个方面去介绍的:语义化.丰富的表单.本地存储.多媒体.地理位置等等.纸上得来终觉浅,现在有了一定的实践经验之后,本人对其有了更加深 ...
- WPF仿网易云音乐系列(序)
1.简介 由于之前做了一个播放器,苦于不懂界面设计,只得去借鉴借鉴一些成功的作品,网易云音乐就甚合朕心,哈哈,最后做出来的效果如下: 本系列文章就来和大家讨论以下,如何用WPF去仿制一个网易云音乐来: ...