怎么在Windows环境中利用PHP生成一个词文档

  介绍

怎么在Windows环境中利用PHP生成一个词文档?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>准备工作

首先,请确保在你的Windows系统中已经安装并配置好了一个典型的WAMP环境。由于互操作纯粹是一个Windows的特性,我们将在Windows平台下搭建Apache和PHP。在这个实例中,我使用了EasyPHP 14.1,这款软件安装和配置都十分容易。

接下来,我们要安装微软办公室。版本不是严格要求的。我正在使用的是Office2013专业版,但是任何2007年之后的办公室版本都应该可以使用。

我们然后需要去确保开发互操作应用(又被称作PIA,优先交互组件)的库是安装好的。为了确保这个,我们可以打开资源管理器,然后找到& lt; Windows目录祝辞\组装,我们将会看到下面安装好的PIA分支:

怎么在Windows环境中利用PHP生成一个词文档

我们可以看到一个Microsoft.Office.Interop。单词条目(在这个截图中有下划线)。这就是我们在这个示例中将要使用的PIA。请特别注意它的“名”称,“版本”和“公钥标记”。我们将要在PHP脚本中用到它们。

在这个目录中,我们还可以看到其它用于编程(不仅是PHP,还有VB.net, c#等)的PIA(包括整个办公室家族)。

如果这个列表没有包含Microsoft.Office。互操作的整个包,我们可以重新安装办公室并且在安装中包含PIA;我们也可以手动下载安装这个包。安装的详细步骤可以查阅这个MSDN页面。

注意:只有微软Office 2010 PIA可再发行的可以被单独下载安装。这个包中的PIA版本是14.0.0。版本15只能通过安装办公室获得。

最后,我们需要在文件php。ini中启用PHP扩展php_com_dotnet。dll,并且重启服务器。

现在我们可以开始编程了。

<强> HTML表单

由于该演示主要关注与后台的处理,所以我们这里就用一个简单的HTML表单做前台的展示,看起来应该是这样的:

怎么在Windows环境中利用PHP生成一个词文档

我们有一个文本框用于输入“名字”,一个“性别”的单选按钮组,一个“时代”的域值控制还有一个文本域来写“消息”,最后,还需要一个“提交”按钮。

将该文件命名为“index . HTML”,保存在虚拟主机的根目录下,这样我们可以直接通过URL访问该文件,例如:http://test/test/interop

<强>后台

后台的PHP文件是我们所要讨论的核心部分。我先将代码贴到下面,接下来在一步一步的进行解释
,

& lt; PHP ?   ,   时间=美元inputs  $ _POST;   $输入[& # 39;printdate& # 39;]=& # 39; & # 39;,,//,A  dummy  value 用avoid  A  PHP  notice  as 不要# 39;我方表示歉意t  have “printdate",拷贝,POST 变量只   ,   assembly 美元;=,& # 39;Microsoft.Office.Interop.Word,,=15.0.0.0版本,,文化=中立,都71 e9bce111e9429c& # 39;;   时间=美元class  & # 39; Microsoft.Office.Interop.Word.ApplicationClass& # 39;;   ,   $ w =, new  DOTNET(组装、美元,美元类);   时间=w美元→visible 真实;   ,   fn 美元;=,__DIR__ 只& # 39;\ \ template.docx& # 39;;   ,=$ d  w美元→文件→打开(fn);   ,   echo “Document 打开。你们br> & lt; hr>“;   ,   flds 美元;=,$ d→字段;   $ count =,摩门教→美元计数;   echo “There 断开连接;count 美元;fields 却;能够拷贝文档。你们;br>“;   echo “& lt; ul>“;   $ mapping =, setupfields ();   ,   foreach  (flds 美元;as  index 美元;=祝辞,f)美元   {   美元才能f→选择();   时间=美元才能key 美元映射(美元指数);   value 美元;=,才能输入美元(美元关键);   if 才能;(key 美元;==,& # 39;性别# 39;)   {才能   ,,,if  (value 美元;==,& # 39;猴# 39;)   ,,,,,value 美元;=,& # 39;强生先生# 39;;   ,,,   ,,,,,value 美元;=,& # 39;强生女士# 39;;   ,,}   ,,   如果才能(美元键==& # 39;printdate& # 39;)   ,,,美元价值=https://www.yisu.com/zixun/日期(“Y-m-d H:我:”);      (w ->选择-> TypeText美元值);   回声”李<> Mappig场美元指数:键和值美元价值”;   }   回声”

怎么在Windows环境中利用PHP生成一个词文档