基于COM的PHP与MicrosoftOffice的应用集成技术

点赞:34194 浏览:157461 近期更新时间:2024-01-31 作者:网友分享原创网站原创

[摘 要 ] 本文主要介绍基于COM的PHP与Microsoft Office的应用集成技术,并通过具体的应用示例说明其编程模式.

[关 键 词 ] Web;Office;PHP;COM;应用集成技术

一、引言

目前,Microsoft Office的应用已十分广泛,Web应用的发展也相当迅速(如电子商务、电子政务等).在某些Web应用中,需要集成一定的Microsoft Office功能,如自动生成Word文档、Excel工作表或PowerPoint演示文稿等.为此,可使用COM技术并结合编程加以实现.

PHP是目前流行的一种Web编程语言,具有开放源码、完全免费、可跨平台运行等优点,已成为各类Web应用的首选开发语言之一.因此,本文主要介绍基于PHP的Web应用集成Microsoft Office功能的基本技术.

二、COM技术简介

COM(Component Object Model,组件对象模型)是微软公司所推出并已得到广泛应用的一种组件标准.所谓组件,其实就是包含在动态链接库或可执行文件中的二进制的可执行代码.在一个组件中,可提供一个或多个对象,且每个对象均可拥有相应的方法、属性与集合.

通过COM组件,可为应用程序、操作系统或其他组件提供某些怎么写作.利用COM技术,也可实现应用程序之间的交互与无缝连接,共同完成复杂的功能,并使之具有良好的可扩展性与可维护性.

在程序中,要使用组件所提供的某个对象,首先要创建该对象的实例,然后通过对象实例访问相应的方法、属性与集合.在完成所需要的操作后,再将对象实例删除掉,以释放其所占用的内存空间.

三、PHP的COM功能

在Windows平台下,PHP提供了内置的COM功能.利用PHP的COM类可创建有关组件对象的实例,基本格式为:

$obj 等于 new COM("ProgID"),

其中,COM为类名,ProgID为组件对象名,$obj为组件对象实例变量.通过实例变量并使用“->”运算符,即可引用组件对象的有关属性、集合与方法.若将实例变量赋为空值(NULL),则可清除相应的对象实例.

四、PHP与Microsoft Office的应用集成

Microsoft Office所包含的各个软件均有基于COM技术的组件对象,如Word、Excel、PowerPoint的组件对象分为Word.Application、Excel.Application、PowerPoint.Application.在PHP中,利用这些组件对象,即可集成相应的Microsoft Office应用.

关于Microsoft Office中有关组件对象的模型及其用法,请查阅其技术文档或有关资料.在此,仅通过实例说明在PHP中集成Microsoft Office应用的基本方法与编程技术.

1.PHP与Word的应用集成

在PHP中集成Word功能,可动态地创建相应的文档,并在其中添加有关的内容,或实现相关的操作,如打印、保存等.

实例一:动态生成Word文档,并提供下载链接.

$MyPath等于dirname(stripslashes($_SERVER["PATH_TRANSLATED"])),

$MyTFN等于"MyTest.doc", //测试文档名

$MyWord等于new COM("Word.Application") or die("错误:无法启动Word"),

$MyWord->Visible等于true,//显示Word窗口

$MyWord->Documents->Add(),//新建文档

$MyText等于"测试内容abc...",

$MyWord->Selection->TypeText($MyText),//输出内容

$MyWord->Selection->TypeParagraph(),//插入段落

$MyRange等于$MyWord->Selection->Range,

$MyTable等于$MyWord->ActiveDocument->Tables->Add($MyRange,3,5),//插入表格

$MyCell等于$MyTable->Cell(1,1),

$MyCell->Range->InsertAfter("Test-1-1"),

$MyWord->ActiveDocument->SeAs($MyPath."\\".$MyTFN),//保存文档

$MyWord->Quit(),//关闭Word窗口

$MyWord等于NULL,

echo "下载".$MyTFN."文档",

>


2.PHP与Excel的应用集成

在PHP中集成Excel功能,可动态地创建相应的电子表格文件,并完成相关的各种操作.这对于各种报表的生成来说,是较为实用的一种方案.

实例二:动态生成Excel文件,并提供下载链接.

$MyPath等于dirname(stripslashes($_SERVER["PATH_TRANSLATED"])),

$MyTFN等于"MyTest.xls",

$MyExcel等于new COM("Excel.Application") or die("错误:无法启动Excel"),

$MyExcel->Visible等于true,

$MyExcel->Workbooks->Add(),

$MyExcel->Worksheets[1]->Cells[1][1]->Value等于"Test-1-1",

$MyExcel->ActiveWorkbook->SeAs($MyPath."\\".$MyTFN),

$MyExcel->Quit(),

基于COM的PHP与MicrosoftOffice的应用集成技术参考属性评定
有关论文范文主题研究: 关于组件的论文范文检索 大学生适用: 专升本论文、电大论文
相关参考文献下载数量: 70 写作解决问题: 如何怎么撰写
毕业论文开题报告: 标准论文格式、论文摘要 职称论文适用: 核心期刊、职称评副高
所属大学生专业类别: 如何怎么撰写 论文题目推荐度: 优秀选题

$MyExcel等于NULL,

echo "下载".$MyTFN."文件",

>

3.PHP与PowerPoint的应用集成

在PHP中集成PowerPoint功能,同样可动态地创建相应的演示文稿,并完成相关的各种操作.

实例三:动态生成PowerPoint文件,并提供下载链接.

$MyPath等于dirname(stripslashes($_SERVER["PATH_TRANSLATED"])),

$MyTFN等于"MyTest.ppt",

$MyPP等于new COM("PowerPoint.Application") or die("错误:无法启动PowerPoint"),

$MyPP->Visible等于true,

$pptPres等于$MyPP->Presentations->Add(),

$aSlide等于$pptPres->Slides->Add(1,1),//插入第1张幻灯片,采用1号样式

$aSlide->Shapes[1]->TextFrame->TextRange->Text 等于 "Test123...",

$aSlide->Shapes[2]->TextFrame->TextRange->Text 等于 "Testabc...",

$MyPP->ActivePresentation->SeAs($MyPath."\\".$MyTFN),

$MyPP->ActivePresentation->close(),

$MyPP->Quit(),

$MyPP等于NULL,

echo "下载".$MyTFN."文件",

>

五、结束语

在Web应用中集成一定的Microsoft Office功能,有利用进一步提高应用的水平,更好地满足用户的实际需要.利用本文所述的方法,可在PHP中动态地生成相应的Word文档、Excel工作表或PowerPoint演示文稿.在此基础上,再进行相应的研究与改进,即可实现更加复杂的操作,如自动进行排版、打印等.