[摘 要 ] 本文主要介绍基于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(),
有关论文范文主题研究: | 关于组件的论文范文检索 | 大学生适用: | 专升本论文、电大论文 |
---|---|---|---|
相关参考文献下载数量: | 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演示文稿.在此基础上,再进行相应的研究与改进,即可实现更加复杂的操作,如自动进行排版、打印等.