php生成word文档的简单方法

合集下载

PHPWord一个操作Word文档的PHP库及中文手册下载

PHPWord一个操作Word文档的PHP库及中文手册下载

做PHP开发的都知道操作ecxel有很多很专业的Excel类库,其中最知名的就是PHPExcel,可以很方便将excel数据导入至数据库,或从数据库中按照指定格式导出至excel,但是对于word的支持的不是很多。

我们文汇建站最近的一项目客户要求将报送系统内的汇报内容导出成word文档,而且要求设置页边距、边框大小等等等等诸多需求。

虽然客户的要求多种多样,但是需求存在,我们文汇建站会满足客户所有的合理性需求,通过多方资料查找,找到了类似PHPExcel的PHP导出word的类库有两个版本,一个是在GitHub上发行的PHPOffice,一个是CodePlex的PHPWord。

我们项目中所用的就是这个CodePlex的PHPWord。

PHPWord - 操作Word文档的PHP库,可以插入文本,文本符,分页,页眉/页脚,表格,列表中的元素,超链接等等。

PHPword配有十几个实际例子可以作为开发参考,而且配有对应的中文文档,使用起来相当方便,不需要在去啃英文单词,不过这个类库是国外版本,对于中文的支持不够,需要我们手动修改,具体修改方法参考我们另一篇文章,PHPword 中文乱码,终极解决方案最新版+1 /wenhui-show-590.html 。

除此之外,PHP对于PPY也有对应的类库,Powerpoint 可以演示文档、添加幻灯片,支持图像、媒体的加入,作者的信息。

并且完美兼容MS Office。

PHPWord下载PHPWord_0.6.2_Beta.zip
附赠PHPword中文版使用手册下载
PHPWord中文手册.docx。

phpoffice 手册

phpoffice 手册

phpoffice 手册PHPOffice是一个开源的PHP库,用于处理和操作Microsoft Office文件,如Word文档、Excel电子表格和PowerPoint演示文稿。

它提供了一组简单易用的API,可以帮助开发人员读取、创建和修改Office文件。

PHPOffice库由一系列不同的组件组成,每个组件都专门用于处理不同类型的Office文件。

以下是一些常用的PHPOffice组件及其功能:1. PHPWord:用于创建和操作Word文档。

它提供了一系列API,可以添加文本、图片、表格、列表、样式和格式等元素到Word文档中。

还可以合并、拆分和转换Word文档。

2. PHPSpreadsheet:用于创建和操作Excel电子表格。

它支持读取和写入Excel文件,并提供了丰富的API,可以设置单元格样式、公式、图表和数据透视表等。

还可以导入和导出多种格式的Excel文件。

3. PHPPresentation:用于创建和操作PowerPoint演示文稿。

它可以添加幻灯片、文本、图片、形状、图表和动画等元素到演示文稿中。

还可以导入和导出多种格式的PowerPoint文件。

使用PHPOffice库非常简单。

首先,你需要在你的项目中安装PHPOffice库,可以通过Composer来安装。

然后,你可以使用相应的组件来处理Office文件。

例如,如果你想创建一个新的Word文档,你可以使用PHPWord组件的API来添加内容和样式。

如果你想读取一个Excel文件,你可以使用PHPSpreadsheet组件的API来读取和处理数据。

除了上述的主要组件外,PHPOffice还提供了其他一些辅助组件,用于处理PDF文件、HTML转换和图像处理等。

你可以根据你的具体需求选择适合的组件。

总的来说,PHPOffice是一个强大且易用的PHP库,可以帮助开发人员处理和操作Microsoft Office文件。

它提供了一系列功能丰富的组件,可以满足各种Office文件处理的需求。

PHP操作Word文档

PHP操作Word文档

如何利用PHP操作Word文档如何利用PHP操作Word文档,比如生成、修改后保存、删除等等……答:用COM函数操作MS Word<?php#实例化一个对象$word = new COM("word.application") or die("Unable to instantiate Word");#取得并显示版本print "Loaded Word, version {$word->Version}<BR>";#另一种方法去取得版本$testversion = com_get($word->application,version);print "Version using Com_get(): $testversion <BR>";#使其可见$word->Visible = 1;#创建新文件$word->Documents->Add();#写字符$word->Selection->TypeText("This is a test...");#保存$word->Documents[1]->SaveAs("Useless test.doc");#关闭$word->Quit();?>======================================================================================PHP操作word使用Word文档的书签(即在要替换内容的地方设置书签)来实现Word文档中的内容替换(替换为用户输入的信息)如下为一部分操作Word的PHP代码:/** 创建日期:* 文件名:* 作者:* 说明:* 版本: $Revision$* $Log$*///实例化一个world对象$office = new COM("word.application") or die("Unable to instantiate Word");if( ! $office )showError(0, "Office 操作错误",true);//调用Word显示文档$office->Visible = 1;$szFile = "d:/doc/patent1.doc";#打开文档$office->Documents->Open($szFile) or die("无法打开文件");//Word中书签数量$iBookmarks = $office->ActiveDocument->Bookmarks->Count;//对所有书签循环替换for( $i=1; $i<=$iBookmarks; $i++ ){//取书签对象$Bookmark = $office->ActiveDocument->Bookmarks->Item($i);$range = $Bookmark->Range;/*aBookmarkItem为替换书签值数组$aBookmarkItem = array('PATENT_NAME'=>'', 'CUSTOMER_NAME'=>'',......) 数组标签PATENT_NAME、CUSTOMER_NAME等即是Word文档中的书签名*/$szValue = $aBookmarkItem[$Bookmark->Name];if( !$szValue ) //替换书签中的值$range->Text = trim($szValue);}$office->Quit();?>php操作word画表格实例代码:<?php$word = new COM("word.application") or die("无法启动Word 程序!");$word->Visible = 1;$doc = $word->Documents->Add();$doc->Sections->Add($word->Selection->Range,0);// 增加一个分节$Section = $doc->Sections(1); // 获取第一小节对象$Range = $Section->Range; // 产生Range 对象$Table = $doc->Tables->Add($Range ,5, 10); // 产生5x10的表格// 将数据塞入表格for ($i=1; $i<=10; $i++) {for ($j=1; $j<=5; $j++) {$Cell = $Table->Cell($j, $i);$CellRange = $Cell->Range;$CellRange->InsertBefore(chr(0x40+$j).chr(0x40+$i));}}$word->Documents[1]->SaveAs("c:\\word.doc");$word->Quit();$word->Release();$word = null;?>没有组件操作权限的解决方法:1、运行Dcomcnfg.exe2、组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档3、点击属性4、选择“安全性”5、选定“使用自定义访问权限”和“使用自定义启动权限”6、分别编辑权限,添加ASPNET,VS Developers,Debugger User7、选择“身份标识”,在选定“交互式用户” 即可(关键步骤=============================================================================== <?php$word = new COM("word.application") or die ("Could not initialise MS Word object.");$word->ActiveDocument->Open("doc1.doc");// Extract content.$content = (string) $word->ActiveDocument->Content;echo $content;$word->ActiveDocument->Close(false);$word->Quit();$word = null;unset($word);?>======================================================================================= 生成excel电子表格-PHP<?phpinclude_once("guid.php");$ex=new COM("Excel.sheet") or die("Can't not open excel!");//$ex->Application->Visible=1;$wkb=$ex->application->workbooks->add();$sheet=1;excel_write_cell($wkb,$sheet,"A4","Hello,World!");$exFileName=realpath(".")."\\".getGuid().".xls";$wkb->SaveAs($exFileName);$wkb->close();$ex->application->Quit();$ex=null;function excel_write_cell($wkb,$sheet,$c,$v){$sheets=$wkb->worksheets($sheet);$sheets->activate;$selcell=$sheets->Range($c);$selcell->activate;$selcell->value=$v;}function excel_read_cell($wkb,$sheet,$c){$sheets=$wkb->worksheets($sheet);$sheets->activate;$selcell=$sheets->Range($c);$selcell->activate;return$selcell->value;}?>使用word模板-PHP<?phpinclude_once("guid.php");$tmpdoc=realpath("temple.doc");$customerinfo="Info Wyle COyote 123 Abc Ave. LooneyTune,USA 99999"; $deliverynum="00001";$ordernum="12345";$custnum="WB-beep";$shipdate="11 Sep 2001";$orderdate="11 Sep 2001";$shipvia="UPS Ground";$item[1]="SK-000-05";$desc[1]="Acme Plcket Rocket";$quantity[1]="2";$cost[1]="$5.00";$subtot[1]="$10.00";$total="$10.00";$word=new COM("word.application") or die("Can't not start ms word!");print"loaded word version {$word->Version}\n<br/>";//$word->visible=1;$word->Documents->open($tmpdoc);$word->Application->Run("BkmkCustomer");$word->Selection->TypeText($customerinfo);$word->Application->Run("BkmkDelivery");$word->Selection->TypeText($deliverynum);$word->Application->Run("NextCell");$word->Selection->TypeText($shipdate);$word->Application->Run("NextCell");$word->Selection->TypeText($shipvia);$word->Application->Run("NextCell");$word->Selection->TypeText($orderdate);$word->Application->Run("NextCell");$word->Selection->TypeText($custnum);$word->Application->Run("NextCell");$word->Selection->TypeText($ordernum);//$word->Application->Run("NextCell");$word->Application->Run("BkmkItem");$word->Selection->TypeText($item[1]);$word->Application->Run("NextCell");$word->Selection->TypeText($desc[1]);$word->Application->Run("NextCell");$word->Selection->TypeText($quantity[1]);$word->Application->Run("NextCell");$word->Selection->TypeText($cost[1]);$word->Application->Run("NextCell");$word->Selection->TypeText($subtot[1]);$word->Application->Run("BkmkTOtal");$word->Selection->TypeText($total);/*//打印doc的代码$word->Application.Run("invoiceprint");//运行打印的doc宏$word->Application->ActiveDocument->Saved=true;//保存while($word->Application.BackgroundPrintingStatus>0)sleep)(1);//等待退出*///下面是另存为的代码$docFileName=realpath(".")."\\".getGuid().".doc";$word->ActiveDocument->SaveAs($docFileName);$word->quit();//$word->Release();$word=null;//echo "生成doc完成!";?>。

在PHP中读取和写入WORD文档的代码

在PHP中读取和写入WORD文档的代码

在PHP中读取和写⼊WORD⽂档的代码复制代码代码如下:<?// 建⽴⼀个指向新COM组件的索引$word = new COM(”word.application”) or die(”Can't start Word!”);// 显⽰⽬前正在使⽤的Word的版本号//echo “Loading Word, v. {$word->Version}<br>”;// 把它的可见性设置为0(假),如果要使它在最前端打开,使⽤1(真)// to open the application in the forefront, use 1 (true)//$word->Visible = 0;//打?⼀个⽂档$word->Documents->OPen(”d:\myweb\muban.doc”);//读取⽂档内容$test= $word->ActiveDocument->content->Text;echo $test;echo “<br>”;//将⽂档中需要换的变量更换⼀下$test=str_replace(”<{变量}>”,”这是变量”,$test);echo $test;$word->Documents->Add();// 在新⽂档中添加⽂字$word->Selection->TypeText(”$test”);//把⽂档保存在⽬录中$word->Documents[1]->SaveAs(”d:/myweb/comtest.doc”);// 关闭与COM组件之间的连接$word->Quit();>。

C#、NPOI生成Word文档(模板)(转载)

C#、NPOI生成Word文档(模板)(转载)

m_P.AddNewPPr().AddNewJc().val = ST_Jc.center;// 页眉居中 //创建页眉关系(headern.xml) XWPFRelation Hrelation = XWPFRelation.HEADER; XWPFHeader m_h = (XWPFHeader)doc.CreateRelationship(Hrelation, XWPFFactory.GetInstance(), doc.HeaderList.Count + 1); doc.CreateFootnotes(); //设置页眉 m_h.SetHeaderFooter(m_Hdr); CT_HdrFtrRef m_HdrFtr = m_SectPr.AddNewHeaderReference(); m_HdrFtr.type = ST_HdrFtr.@default; m_HdrFtr.id = m_h.GetPackageRelationship().Id; //创建页脚 CT_Ftr m_ftr = new CT_Ftr(); CT_P m_fP = m_ftr.AddNewP(); m_fP.AddNewR().AddNewT().Value = "页脚内容值"; m_fP.AddNewPPr().AddNewJc().val = ST_Jc.center;// 页眉居中 //创建页脚关系(footern.xml) XWPFRelation Frelation = XWPFRelation.FOOTER; XWPFFooter m_f = (XWPFFooter)doc.CreateRelationship(Frelation, XWPFFactory.GetInstance(), doc.FooterList.Count + 1); //设置页脚 m_f.SetHeaderFooter(m_ftr); m_HdrFtr = m_SectPr.AddNewFooterReference(); m_HdrFtr.type = ST_HdrFtr.@default; m_HdrFtr.id = m_f.GetPackageRelationship().Id;

php语言用PHPDocument生成帮助文档说明

php语言用PHPDocument生成帮助文档说明

PhpDocument生成帮助文档说明1.配置phpdoc.bat 使其指向您所安装php的位置;打开phpdoc.bat 进行编辑更改phpCli,即SET phpCli=F:\server\program\php524\php.exe此时表示我安装的php执行文件在F:\server\program\php524\的位置。

最后让PhpDocument运行于php环境中。

2.执行phpdoc.bat 选择PhpDocument3.PhpDocument生成帮助文档操作PhpDocument生成帮助文档有两种形式即命令行和web页面,在这里我主要讲解web页面,在php环境中运行PhpDocument程序,即执行程序浏览PhpDocument下的index.html,进入PhpDocument生成帮助文档操作界面,其中生成文档的主要栏目是Files Output Option下面我们来详细介绍一下生成的步骤(1) 点击Files栏目按钮加入需要生成帮助文档的php程序(2)点击Output栏目按钮选择保存位置和生成样式(3)点击Options栏目按钮选择保存位置和生成样式多选框处可根据自己需要选择这里不过的说明。

(4)选择Working Directory 的路径,然后点击create按钮开始生成帮助文档当程序出现Operation Completed!!表示操作完成注意:以上是最基本的采用PhpDocument生成帮助文档的步骤操作希望给你的学习带来帮助。

Kphp爱好者提供,如有转载或是使用图片请标注来自kphp开源框架,网址:/?dguide-show-7.html。

以上截图操作步骤为phpDocumentor v1.4.3 Web Interface 版本。

PHPWord 开发者指南

PHPWord 开发者指南

PHPWord Beta 0.6。

2开发者指南目录缇到底是什么?设置的默认字体设置的文档属性部分添加节样式节可用样式属性文本元素添加文本元素添加textrun 元素样式的文本元素可用样式属性添加文本符添加分页符列表元素添加列表元素样式列表元素可用列表中的样式属性超链接添加超链接超链接样式图像添加图像样式的图像可用样式属性添加内存映像添加水印添加对象添加标题添加表的内容表添加表添加行添加单元格单元格样式样式表页脚标头模板缇到底是什么?在本文档中,你会经常发现单位缇。

开放式办公室的基长度单位缇为单位)。

缇意味着"我换P访谈的TWentieth"。

所以1 缇= 1/1440年英寸。

设置的默认字体默认情况下每个文本出现在10 点的字体大小为Arial 字体。

可以通过使用以下两个函数来改变默认的字体:$PHPWord-> setDefaultFontName('Tahoma') ;$PHPWord-> setDefaultFontSize(12) ;设置的文档属性您可以设置以下文档属性:若要设置这些属性,请使用下面的代码:$属性 = $PHPWord-> getProperties() ;$属性-> setCreator (我的名字');$属性-> setCompany (' 我厂');$属性-> 展现(' 我标题);$属性-> setDescription (我描述);$属性-> setCategory (' 我类别');$属性-> setLastModifiedBy (我的名字');$属性-> setCreated (mktime (0、 0、 0、 3、 12、 2010年));$属性-> setModified (mktime (0、 0、 0、 3、 14、 2010年));$属性-> setSubject (' 我主题');$属性-> setKeywords '我,关键词');部分添加节在word 中的每一个可见元素放置在一节。

用PHP生成WORD,EXCEL文件等(附格式数组)

用PHP生成WORD,EXCEL文件等(附格式数组)
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?>
//改动相应文件头就可以输出.doc .xls等文件格式了
$output .= '<tr bgcolor="#cccccc"><td align="center">图片</td></tr>';
$output .= '<tr bgcolor="#f6f7fa"><td><span style="color:#FF0000;"><strong>下面是一张图片</strong></span></td></tr>';
'wav' => 'audio/wav',
'mp3' => 'audio/mpeg',
'mp2' => 'audio/mpeg',
'avi' => 'video/x-msvideo',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'qt' => 'video/quicktime',
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

<?php
header("charset=utf8");//文档的输出的编码格式避免word中乱码class word
{
function start()
{
ob_start();
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="/TR/REC-html40">';
}
function save($path)
{
echo "</html>";
$data = ob_get_contents();//获取输出的缓存
ob_end_clean();
$this->wirtefile ($path,$data);
}
function wirtefile ($fn,$data)//可以写二进制的方式写入文件中{
$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}
}
$html = '这里是word里的内容';
$word = new word();创建对象
for($i=1;$i<=3;$i++){ //可以批量生成的循环
$word->start();
$wordname = $i.".doc"; //给文档命名
echo $html; //虽然输出但是缓存了
$word->save($wordname); //在这一部的调用方法中再把输出的内容写入文件中
ob_flush();//每次执行前刷新缓存
flush();
}
?>。

相关文档
最新文档